如果我单击EC2实例的“连接”按钮,则步骤#2引用不再存在的密钥对的私钥。
2) Locate your private key file (something.pem).
但关联的密钥对不存在,因为我在AWS控制台中删除了它。这只是AWS控制台中的UI问题,还是我误解了如何管理密钥?
答案 0 :(得分:0)
我不确定您是否在谈论此问题,但如果您删除了私钥,则无法访问您的实例。
Amazon EC2不会保留您的私钥副本;因此,如果你 丢失私钥,没有办法恢复它。如果你输了 实例存储支持的实例的私钥,您无法访问 实例;你应该终止实例并启动另一个实例 使用新密钥对的实例。如果您丢失了私钥 EBS支持的Linux实例,您可以重新获得对您的实例的访问权限。对于 更多信息,请参阅如果丢失则连接到Linux实例 你的私钥。
https://docs.aws.amazon.com/en_us/AWSEC2/latest/UserGuide/ec2-key-pairs.html
答案 1 :(得分:0)
“Connect”UI中的命令是指在启动实例期间指定的密钥对的名称。该名称与您在实例的“描述”选项卡中看到的密钥对名称相匹配。这不能改变。即使您在AWS控制台中删除了密钥对,您启动的实例仍然与该密钥对相关联。
在我的情况下,ISP问题导致我的IP地址暂时更改,因此我的新IP地址不再与我的安全组中的IP地址匹配。在我最初的调试工作中,我采取了各种可能导致我的私钥不再工作的事情,因此当我更正安全组中的IP地址时,我仍然被锁定。 (然后我继续删除密钥对,但仍然在我的问题中解释的AWS UI中引用它。)
幸运的是,我的是一个由EBS支持的Linux实例,所以我能够恢复,就像这样:
然后我有一个影响SSH访问的问题,其他人可能不会遇到:我本地的known_hosts文件中的RSA密钥现在很糟糕。当我尝试SSH到AWS时,我在终端中看到一个错误,该错误引用了我的known_hosts中的特定行,这是问题所在。这是错误消息的重要部分:
Offending RSA Key in /some/path/to/known_hosts:3
最后这个数字告诉你known_hosts中的哪一行是问题,在我的情况下我只是删除了那行,然后又能够再次SSH到AWS,我的新实例与旧实例的工作方式相同。 / p>