【问题标题】:EC2 Instance not accepting new Key Pair - Permission Denied (Public Key)EC2 实例不接受新的密钥对 - 权限被拒绝(公钥)
【发布时间】:2014-05-28 18:27:43
【问题描述】:

首先,我是 AWS 的新手(两天前开始研究它)。我的客户需要一个新的 Drupal 6 模块,我已经完成了,我只需要上传它并设置一些东西。我的客户给了我亚马逊的用户名和密码,所以我认为他们使用的是 AWS。

我可以看到正在运行的实例,并且我已经按照 Amazon 文档添加了一个新的密钥对,还添加了一个用于 SSH 访问的自定义 IP 规则。问题是,当我尝试使用非常简单且基本的命令通过 ssh 进行连接时

ssh -i taskey.pem ec2-user@ec-x-x-x-x...amazonaws.com

回复是

Permission denied (publickey).

我的环境状况:

  • 与正在运行的实例关联的安全组上我的 IP 地址的现有 SSH 规则
  • 已将新密钥对添加到正在运行的实例中
  • key.pem 文件有 0600 权限
  • 我知道这是一台 Centos 机器,因为当我 ping 站点的 IP 部分时,响应中显示它是。因此我使用用户名 ec2-user
  • 以防万一,我也尝试过 ubuntu 和 root。

阅读一些内容,您似乎不能神奇地将新的密钥对添加到正在运行的实例中。我正在运行的实例有一个现有的公钥,但它是由另一个工作人员在过去创建的,我无法联系他们。

我的客户没有存储库,因此,正如您想象的那样,为什么我不只是尝试大量的东西。如果我打破它,一切都会丢失。

answer 建议删除旧的密钥对(我没有 .pem 文件的那个)。但我不知道这可能会带来什么后果。

对不起,我很着急,没有空间尝试。

提前致谢。

编辑

我选择了“创建 AMI...”的答案,只是因为它是我想要的答案。我喜欢可以保留(关闭)旧机器的事实,如果出现任何问题,我所要做的就是再次打开它。关于安装和卸载硬盘驱动器,我对另一个可能的答案投了赞成票,因为这是另一种方法,在某些情况下,也是唯一的方法。

实现SSH 访问成功的步骤:

  1. 停止运行实例
  2. 从中创建一个 AMI(右键单击并选择创建映像)
  3. 创建后,我启动它并为其提供与原始实例相同的细节
  4. 用我的新密钥对提供它
  5. 重新指向了我分配的弹性 IP(这是我拥有的唯一服务,幸运的是非常简单)。去了
    弹性 IP,看到现有的(自原始 IP 以来不再分配任何东西) 实例被关闭。右键单击它并选择关联地址并选择新的运行 来自关联列表中创建的 AMI 的实例。)
  6. 检查我有 SSH 访问权限。

【问题讨论】:

    标签: amazon-web-services amazon-ec2


    【解决方案1】:

    您无法将新的密钥对添加到正在运行的实例中 - 就像它在您指向的答案的 comments 中所说的那样。

    恐怕如果您无法联系到拥有原始 .pem 文件的人,您将无法通过 SSH 连接到该计算机。

    可以从中创建一个AMI 映像,并从该AMI 使用新的密钥对创建一台新机器。在那里,您可以进行所需的所有更改,然后将使用它的任何服务指向新机器。确认新机器达标后,即可终止旧机器。

    【讨论】:

    • 我最终选择了这个答案,因为它让我有一台机器作为“备份”,以防出现任何问题。卷分离/附加/分离/附加的答案会让我没有备份,事实上,我不能冒险。不过,这仍然是可能的,只是不是我列表中的第一名。
    • 请注意,此解决方案和 sorohan 都有效。在这两种情况下,关键在于您正在启动一个与旧实例非常类似 的新实例(使用新密钥对)。将 AMI 用作备份很方便,但为了安全起见,您当然可以使用 AMI(或只是 EBS 快照),然后使用 sorohan 的技术。
    【解决方案2】:

    如果您丢失了私钥,Amazon 会提供连接到实例的指南。只要它是 EBS 支持的实例。见这里:

    http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html#replacing-lost-key-pair

    这样做的一般程序是(来自文档):

    您必须停止实例,分离其根卷并将其作为数据卷附加到另一个实例,修改 authorized_keys 文件,将卷移回原始实例,然后重新启动实例。

    【讨论】:

    • 我也发现了该文档,但没有机会尝试它,因为我似乎无法弄清楚它是否支持 EBS。在仪表板上的 EBS 选项卡中,当我输入它时,什么都没有,所以我认为它不是 EBS 支持的实例。
    • 在 EC2 管理控制台中,当您选择实例时,应在“描述”选项卡中显示“根设备类型”。如果它不是 EBS 支持的实例,我认为您最好的选择是按照 Uri 所说的那样从该实例创建一个新的 AMI(选择实例,单击“操作”菜单,然后单击“创建映像”)。您可以选择“不重启”,机器会在创建 AMI 的同时继续运行。
    • 甜蜜!它是 ebs 支持的,当我试用文档时,我会来这里选择你的答案。干杯。
    猜你喜欢
    • 2016-02-17
    • 1970-01-01
    • 2017-08-31
    • 2016-08-04
    • 2017-03-24
    • 2014-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多