【问题标题】:Unable to SSH into AWS EC2 Instance: Operation timed out无法通过 SSH 连接到 AWS EC2 实例:操作超时
【发布时间】:2020-07-05 01:54:19
【问题描述】:

请帮忙!我花了几天时间尝试通过 ssh 连接到我的 EC2 实例。

在最初的 24 小时左右,我能够做到这一点。然后,当我向我的实例添加依赖项时,我被启动了。现在我无法重新登录了。有一次我的公共 DNS 发生了变化,但我已经考虑到了这一点。

我的安全组、VPC、互联网网关、路由表、子网、防火墙等似乎都井井有条。

这里有什么问题?请指教!

【问题讨论】:

  • 请提供一些额外的详细信息,例如您用于 SSH 的命令、错误消息、安全组等。
  • 如果不证明用于设置您的东西的信息,很难判断
  • 您可以使用ssh -vvv 进行调试。错误信息是什么?它是立即失败,还是在失败之前需要一段时间(例如 10 秒)?
  • 谢谢大家。回复:下面的答案我尝试创建另一个实例来测试与 SSH 的连接。这很有效,因为我能够立即通过 SSH 连接到我的新实例。回复:上面的请求,当我尝试通过 SSH 连接到我的原始实例时,我收到一条新的错误消息。看到这个,下面是我的 ssh -vvv 的结果... ssh -i "~/.ssh/my-public-key.pem" ubuntu@ec2----.us-*st-.compute.amazonaws.com ubuntu@ec2----.us-*st-.compute.amazonaws.com:权限被拒绝(公钥)。
  • 下一个太长了,无法在这些 cmets 中分享,但这是它的开始... [12:17:34] ~ // ♥ ssh -i "~/.ssh/ my-public-key.pem" ubuntu@ec2----.us-*st-.compute.amazonaws。 com -vvv OpenSSH_7.9p1,LibreSSL 2.7.3 debug1:读取配置数据 /etc/ssh/ssh_config debug1:/etc/ssh/ssh_config 第 48 行:为 * debug2 应用选项:解析“ec2----.us-st-.compute.amazonaws.com" 端口 22 debug2: ssh_connect_direct debug1: 连接到 ec2----.us-st-.compute.amazonaws.com [..**.* *] 端口 22。debug1:已建立连接。

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


【解决方案1】:

测试与 SSH 的连接

  1. 在目标 EC2 的同一子网中创建另一个 EC2 实例。
    • 确保出口规则允许所有出站和入站到端口 22。
    • 将 SSH 私钥复制到 ~/.ssh/ 并确保删除组/其他 rw 权限。
  2. 如果没有安装在新的 EC2 中,请安装 telnet 或 nc。
  3. 测试从新 EC2 到目标 EC2 的连接。
    telnet ${TARGET_HOST_IP} 22

如果这可行并且您可以连接,则 SSH 服务器已启动并正在运行。如果没有,SSH 服务器没有运行,或者 22 端口没有打开。

如果 SSH 服务器出现故障,可能有一些方法可以尝试修复。

请参阅User is reporting that they've unable to SSH into an EC2 instance in AWS? 了解诸如将根 EBS 卷挂载到另一个 EC2 或使用 USEDATA 重新配置等选项。

从 EC2 控制台登录到 EC2

如果您可以登录,请确保 SSH 服务器已启动并正在运行。然后确保 ~/.ssh/authorized_key 有公钥。验证 /var/log/auth 或 /var/log/security 以验证在尝试从外部 ssh 进入 EC2 时登录是否被拒绝。

克隆以调查或替换

如果可以,请关闭 EC2 实例,拍摄根卷的 ELB 快照,然后将其挂载到另一个您可以通过 SSH 访问的 EC2,并调查 dmesg、/var/log 文件中是否存在任何可能阻止 SSH 连接的错误。验证 ssh 服务器配置,~/.ssh/ 文件。

或者只是将您需要的内容从 ELB 快照复制到一个新的 EC2 实例,然后用新的实例替换原来的实例。

AWS 很清楚,要创建根 ELB 卷的快照,需要关闭实例。否则无法保证快照的完整性。


更新

要恢复 ~/.ssh 文件夹的 SSH 公钥或权限,另请参阅 [用户报告他们无法通过 SSH 连接到 AWS 中的 EC2 实例?

【讨论】:

  • 感谢您的帮助!我通过创建另一个实例成功地测试了我与 SSH 的连接。我无法从 EC2 控制台登录到 EC2。希望我不必更换,但我们会看看社区的其他人能想出什么!
猜你喜欢
  • 2020-03-13
  • 1970-01-01
  • 2019-08-08
  • 1970-01-01
  • 2021-06-02
  • 2018-07-14
  • 2013-01-06
  • 2011-10-30
  • 2021-12-06
相关资源
最近更新 更多