繁体   English   中英

无法通过 SSH 连接到 AWS EC2 实例:操作超时

[英]Unable to SSH into AWS EC2 Instance: Operation timed out

请帮忙! 我花了好几天试图通过 ssh 进入我的 EC2 实例。

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

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

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

测试与 SSH 的连接

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

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

如果 SSH 服务器以某种方式关闭,则可能有一些方法可以尝试修复。

请参阅用户报告他们无法通过 SSH 连接到 AWS 中的 EC2 实例? 对于选项,例如将根 EBS 卷挂载到另一个 EC2,或使用 USEDATA 重新配置。

从 EC2 控制台登录到 EC2

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

克隆以调查或替换

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

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

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


更新

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM