簡體   English   中英

無法在實例元數據關閉的情況下將 SSH 插入 AWS EC2 實例

[英]Unable to SSH into AWS EC2 instance with instance metadata turned off

如果在關閉實例元數據服務的情況下啟動 EC2 實例,我無法將 SSH 放入 EC2 實例中。

ec2.runInstances({ ... MetadataOptions: {
  HttpEndpoint: 'disabled'..
})

但是,如果我在啟用 MetadataOptions 的情況下啟動並在實例完成啟動后通過modify-instance-metadata-options調用禁用它,這不是問題。 這是記錄在案的行為嗎? 我在任何地方的文檔中都找不到明確提到它。

注意 - 這不是安全組、網絡 ACL 等問題。

我也注意到了這一點。 似乎禁用 IMDS 會破壞以下所有內容:

  • SSH 訪問中斷; 默認用戶(即 root 或 ubuntu)的authorized_keys文件未填充,因為 EC2 密鑰對通常在實例元數據中提供。
  • Cloud-init/Cloud-config(又名“userdata”)不運行。 用戶數據通常在http://instance-data.:8773上可用,但在禁用 IMDS 時不可用。

因此,如果您希望從啟動的那一刻起禁用 IMDS,似乎唯一可行的解決方法是創建您自己的 AMI,並將您自己的配置(即 SSH authorized_keys)備份到其中。 Packer通常用於以這種方式構建 AMI。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM