Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ssh 为什么AWS控制台UI仍然引用我已删除的密钥对?_Ssh_Amazon - Fatal编程技术网

Ssh 为什么AWS控制台UI仍然引用我已删除的密钥对?

Ssh 为什么AWS控制台UI仍然引用我已删除的密钥对?,ssh,amazon,Ssh,Amazon,如果我为我的EC2实例单击“连接”按钮,步骤2将引用不再存在的密钥对的私钥 2) Locate your private key file (something.pem). 但是关联的密钥对不存在,因为我在AWS控制台中删除了它。这只是AWS控制台中的一个UI问题,还是我对密钥的管理方式有误解?我不确定您是否在谈论这个问题,但如果您删除了私钥,则无法访问您的实例 AmazonEC2不保存您的私钥副本;因此,如果你 丢失私钥,无法恢复。如果你输了 实例存储备份实例的私钥,您无法访问 实例;您应该

如果我为我的EC2实例单击“连接”按钮,步骤2将引用不再存在的密钥对的私钥

2) Locate your private key file (something.pem).

但是关联的密钥对不存在,因为我在AWS控制台中删除了它。这只是AWS控制台中的一个UI问题,还是我对密钥的管理方式有误解?

我不确定您是否在谈论这个问题,但如果您删除了私钥,则无法访问您的实例

AmazonEC2不保存您的私钥副本;因此,如果你 丢失私钥,无法恢复。如果你输了 实例存储备份实例的私钥,您无法访问 实例;您应该终止实例并启动另一个实例 实例使用新的密钥对。如果您丢失了 EBS支持的Linux实例,您可以重新获得对实例的访问权。对于 更多信息,请参阅丢失时连接到Linux实例 你的私钥

在“连接”UI中的命令指的是在实例启动期间指定的密钥对的名称。该名称与您在实例的“描述”选项卡中看到的密钥对名称匹配。这是无法改变的。即使您在AWS控制台中删除密钥对,您启动的实例仍然与该密钥对关联

在我的例子中,ISP问题导致我的IP地址临时更改,因此我的新IP地址不再与我的安全组中的IP地址匹配。在我最初的调试工作中,我采取了各种可能导致私钥不再工作的措施,因此,当我更正安全组中的IP地址时,我仍然被锁定。(然后我继续删除了密钥对,但仍然看到它在AWS UI中被引用,正如我在问题中所解释的。)

幸运的是,我的是一个EBS支持的Linux实例,因此我能够恢复,如下所示:

  • 创建我的实例的AMI
  • 基于我的AMI创建一个新实例。这使我不必重建整个服务器并重新部署应用程序。在基于旧实例的AMI创建新实例时,这是将新密钥与实例关联的更改。AWS用户界面足够清楚地说明了这一点
  • 将我的弹性IP与旧实例分离
  • 将我的弹性IP与新实例关联 然后,我还有一个影响SSH访问的问题,其他人可能不会遇到这个问题:我的本地known_hosts文件中的RSA密钥现在坏了。当我尝试SSH到AWS时,我在终端中看到一个错误,该错误引用了已知的_主机中的特定行,这就是问题所在。这是错误消息的重要部分:

    Offending RSA Key in /some/path/to/known_hosts:3
    

    最后的数字告诉您已知主机中的哪一行是问题所在,在我的例子中,我刚刚删除了这一行,然后又可以通过SSH连接到AWS,我的新实例与旧实例的工作方式相同。

    Close。我没有删除我的私钥,但在AWS控制台中删除了密钥对。我下定决心后就回答了这个问题。谢谢