【问题标题】:Connection timeout - AWS Ubuntu instance连接超时 - AWS Ubuntu 实例
【发布时间】:2018-08-27 10:54:08
【问题描述】:

尝试使用客户端提供给我的 IP 和 .pem 通过 SSH 连接到 AWS Ubuntu 服务器实例,但是仍然遇到以下超时响应: connect to host 13.54.24.220 port 22: Operation timed out

我一直使用的命令是:

chmod 600 Hiko_key.pem 
ssh -v -i Hiko_key.pem ubuntu@13.54.24.220
OpenSSH_7.4p1, LibreSSL 2.5.0
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Connecting to 13.54.24.220 [13.54.24.220] port 22.
debug1: connect to address 13.54.24.220 port 22: Operation timed out
ssh: connect to host 13.54.24.220 port 22: Operation timed out
  • 已按照AWS guidesonline resources 设置了.pem 权限。
  • 还按照关于该主题的类似 Stack posts 对服务器 IP 进行 ping 和跟踪路由,结果均失败。
  • 已在两台 OSX 机器(均已关闭防火墙)、两个不同的家庭网络上对此进行了测试,但均无济于事。
  • 我自己的端口的端口扫描未将端口 22 列为开放 - 不确定这是否是导致外部流量的一个因素

我的客户向我保证,服务器已为端口 22 ipv4 连接正确设置。

我的其他哪些因素可能导致此失败?我完全没有想法。

【问题讨论】:

  • 您的客户是否将您的 IP 列入白名单?我真的不认为这是你的结局。
  • @stdunbar 不,我不这么认为。为什么我的 IP 需要被列入白名单? .pem 密钥对不足以进行身份​​验证吗?
  • 身份验证是的,但超时往​​往表明安全组(其工作方式类似于防火墙)不允许您进入。这可能取决于 IP 地址,具体取决于配置。您的 .pem 文件和您的凭据甚至还没有被使用 - 机器必须首先允许连接。如果您在 Mac 上,可以在命令行中运行telnet 13.54.24.220 22(假设这是正确的 IP)?如果它只是挂起“正在尝试”消息,那么您甚至无法与机器交谈,更不用说您的凭据了。
  • @stdunbar 这真的很有见地,谢谢!您的假设是正确的,运行 telnet 13.54.24.220 22(在两台机器上)只会导致:Trying 13.54.24.220... telnet: connect to address 13.54.24.220: Operation timed out telnet: Unable to connect to remote host 将联系我的客户以将我的 IP 列入白名单

标签: bash amazon-web-services ubuntu ssh port


【解决方案1】:

原来客户端的服务器实例被设置为可以从我自己的 IP 不在其中的有限 IP 地址范围访问。

一旦将实例更改为允许来自其他位置的 IP,连接就会按预期成功。

非常感谢@stdunbar 提供的 telnet 指针 - 这确实有助于调试这里发生的事情。

【讨论】: