【问题标题】:can't ssh after assigning an elastic ip分配弹性 ip 后无法 ssh
【发布时间】:2020-06-03 19:04:51
【问题描述】:

我配置了我的实例。它启动并运行。在分配弹性 IP 之前,我可以使用我的密钥(由厨师/刀提供)进行 ssh。例如这有效(在 EIP 之前):

ssh -F .ssh/config ec2-ww-xx-yy-zz.us-west1.computer.amazonaws.com

分配 EIP 后,我得到:

Permission denied (publickey)

错误消息,因为它检查我的主文件夹而不是项目目录。

我什至指定了配置目录和 EIP:

ssh -F .ssh/config ubuntu@ww.xx.yy.zz -v

返回“连接超时消息”。

当我使用 Elastic Fox 时,我可以看到 EIP 已正确关联。我是否缺少拒绝 SSH 到 EIP 的 AWS 设置?

【问题讨论】:

  • 在旁注中,我确保端口 22 在 aws 安全组中是完全开放的
  • 现在似乎可以工作了。在我的 bash 脚本中添加了一个等待功能,它终于把它捡起来了。

标签: amazon-web-services amazon-ec2


【解决方案1】:

一旦 EC2 实例启动,它将分配一个公共和私有 IP 地址。实例的私有 IP 地址在该实例的生命周期内永远不会改变。 但是,它的公共 dns 地址在某些情况下可能会发生变化。

因此,在您将 EIP 关联到任何实例后,请使用该 IP 登录您的计算机。

【讨论】:

  • 系统已经连接到弹性IP,当我们ssh到节点时,它会尝试连接到旧IP,因为我们在最初解析域名时添加了指纹。
  • @sarat - 你应该更新指纹,我会删除与该域/节点关联的指纹并再次尝试 ssh,这将为 ssh 添加一个新的指纹。
【解决方案2】:

当您将弹性 IP 地址与您的实例相关联时,它会为其分配一个新的公共 DNS 地址。需要注意的一点是,您的已知主机存储在/Users/stuart/.ssh/known_hosts 文件中,一旦您分配了弹性 IP 地址并尝试通过 ssh 连接回实例,它就无法工作,因为公共域名已更改。您需要用新的替换它。 为此,请使用以下命令:

ssh-keygen -R ec2-xx-xxx-xxx-xx.eu-central-1.compute.amazonaws.com

请记住,这是在关联 IP 地址后分配给服务器的新公共 DNS 名称。 干杯!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-09
    • 2019-11-26
    • 1970-01-01
    • 2013-11-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多