【问题标题】:Can existing key pair be used if I restart the ec2 instance(stop and start) in aws or do we need to create new key pair or launch another instance?如果我在 aws 中重新启动 ec2 实例(停止和启动),是否可以使用现有的密钥对,或者我们是否需要创建新的密钥对或启动另一个实例?
【发布时间】:2019-12-03 14:03:03
【问题描述】:

我正在尝试连接到 linux ec2 实例 feom windows pc。防火墙在端口 22 上打开。但是通过 putty 连接时出现网络超时。我试图调试,但一切似乎都很好。 我可以使用基于浏览器的 ssh 实例进行连接,但不能使用 putty 或独立的 ssh 客户端。 所以我唯一的疑问是我是否必须创建一个新的密钥对,因为我曾经重启过 ec2 实例。

【问题讨论】:

  • 重启实例时不需要创建新的密钥对
  • 比较常见的ssh问题包括:以正确的用户(ec2-user、ubuntu等)登录、主机上的私钥权限太开放(应该是400)、防火墙
  • “能够使用基于浏览器的 ssh 实例进行连接”是什么意思?
  • 这不是编程问题。
  • 使用基于浏览器的 SSH 连接时没有问题。问题在于独立 SSH 客户端。

标签: amazon-web-services amazon-ec2 ssh putty


【解决方案1】:

不,您不需要创建新的密钥对(.pem 文件)来在重启后连接到您的 EC2 实例。

如果您没有任何更改(例如 IP 地址或安全组规则),您应该能够在重启后通过 ssh 连接到实例。

其中一个原因可能是您的公共 IP 由于某种原因已更改,因此请检查并相应地连接。

与 EC2 实例关联的公共 IP 在某些情况下可能会发生变化。这是official documentationsn-p 指的是:

您不能手动关联或取消关联公共 IP 地址 你的实例。相反,在某些情况下,我们会发布公共 IP 来自您的实例的地址,或为其分配一个新地址:

当您的实例停止或停止时,我们会释放您的实例的公共 IP 地址 终止。您停止的实例收到一个新的公共 IP 地址 当它重新启动时。

当您关联一个 弹性IP地址。当您解除与弹性 IP 的关联时 来自您的实例的地址,它会收到一个新的公共 IP 地址。

如果您的实例在 VPC 中的公网 IP 地址已释放, 如果有多个网络,它将不会收到新的 附加到您的实例的接口。

如果您的实例的公共 IP 地址在其具有 与弹性 IP 关联的辅助私有 IP 地址 地址,实例不会收到新的公共 IP 地址。

【讨论】:

  • 是的,重新启动 ec2 实例后,公共 dns 已更改,我已确保使用 putty 中的现有密钥对 (ppk) 连接到新更改的公共 dns。但我仍然遇到网络超时。
  • 但是,我可以使用基于浏览器的 ssh 客户端进行连接
  • 是否有公共 DNS/IP 地址
  • 是的,它有公共 dns(IPv4)
  • 您的安全组规则或客户端 IP 地址是否发生了变化?
【解决方案2】:

首先,您不需要创建新的密钥对来启动您的实例。您需要做的是:

  1. 确保您使用的是正确的密钥对。您可以通过转到 AWS 控制台来验证这一点,选择您的实例,在下面的数据部分,找到“密钥对名称”
  2. 然后,检查您用于启动该实例的公钥 (pem) 文件
  3. 使用 PuttyGen,加载您的 pem 文件并将生成的密钥保存为私钥(现在您有了您的 ppk 文件
  4. 检查您的实例的安全组并让您打开端口 22 (SSH) 到 0.0.0.0/0
  5. 打开 Putty 并粘贴以下内容:
    • Host Name:实例的公网IP
    • Connections > Data > Login Details: ec2-user (AmazonLinux) ubuntu (Ubuntu)
    • Connection > SSH > Auth > Private Key:在step3中选择生成的PPK
    • 点击打开
  6. 您现在应该可以通过 SSH 打开您的实例了

【讨论】:

  • 在发布此问题之前,我已按照上述步骤操作。由于我已按照上述步骤进行操作,因此我不确定出了什么问题
  • 我猜你正在使用不同的私钥通过 SSH 访问实例。我建议您创建一个新实例并确保为该实例保留正确的 pem 文件。
  • 不,我只使用旧的 ppk 文件。此后我刚刚重新启动了 ec2 实例。我正在尝试连接新分配的公共 dns。
【解决方案3】:

这是公司网络问题。解决了。给您带来不便,敬请见谅。

【讨论】:

  • 这就是为什么一开始就不是编程问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-11
  • 2020-06-22
  • 2017-11-28
  • 2016-12-16
  • 2019-08-03
  • 1970-01-01
相关资源
最近更新 更多