SSH 到 EC2:操作超时。可能是资源配置错误?

SSH 到 EC2:操作超时。可能是资源配置错误?

我手动配置了我的网络。标识为 的实例'i-xxxxxxxxxxxxxxxxx'已连接到 NIC 'eni-xxxxxxxxxxxxxxxxx',已连接到子网,并通过 路由'subnet-xxxxxxxxxxxxxxxxx'到互联网。'igw-xxxxxxxxxxxxxxxxx''rtb-xxxxxxxxxxxxxxxxx'

该实例附加了一个安全组,并且该组允许源自0.0.0.0/0TCP 端口 22 的入站连接。此外,我被允许使用密钥对,我有其私钥。

但是,我完全无法进行简单的 SSH 握手。我这边的响应是“操作超时”。

您觉得我遗漏了什么吗?

编辑:这是调试响应

➜ ssh -vv [email protected] 

OpenSSH_7.9p1, LibreSSL 2.7.3
debug1: Reading configuration data /Users/pandres95/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 48: Applying options for *
debug1: /etc/ssh/ssh_config line 52: Applying options for *
debug2: resolve_canonicalize: hostname 18.223.62.46 is address
debug2: ssh_connect_direct
debug1: Connecting to 18.223.62.46 [18.223.62.46] port 22.
debug1: connect to address 18.223.62.46 port 22: Operation timed out
ssh: connect to host 18.223.62.46 port 22: Operation timed out

答案1

你只有一个 ENI在一个实例上还是两个实例上?如果你有两个实例,你可能会遇到路由问题 - 分离一个实例,看看是否有帮助。

如果你只有一个 ENI,并且你确实有安全组打开0.0.0.0/0tcp/22如果你的VPC 网络都按照你描述的那样设置好了,那么剩下的最后一个原因是基于主机的防火墙阻止入站流量。

开始运行iptables -P INPUT ACCEPT; iptables -X并重试ssh

哦,等等,你不能登录来修复 iptables,对吧?你可以使用SSM 会议针对越界访问,前提是您的实例正在运行 SSM 代理。Amazon Linux 2 通常会自动启动 SSM 代理,但您可能需要向实例 IAM 角色添加一些权限 - 请参阅使用 SSM 会话管理器进行交互式实例访问轻松进行 SSM 会议。在 SSM 会话运行后,您甚至可能不需要修复 SSH。

希望有帮助:)

答案2

确保你有一个公共或弹性 IP附加到您的实例。

希望有帮助:)

答案3

您的子网将有一个网络访问控制列表 (NACL)。

如果子网不是 VPC 的默认子网,它将具有阻止所有流量的 NACL。您必须在该 NACL 中允许 TCP 22 入口和全局出口。

答案4

也许这很明显,但请确保它是 EC2 的正确“用户”,例如:ssh -i xxx-xxx-xxx.pem一些-ec2-用户@ec2-1-15-333-999.compute-9.amazonaws.com

相关内容