You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Debian 12本地SSH连接EC2端口22超时,EC2间可通过Instance Connect正常连接

解决Debian 12本地机器无法SSH连接EC2实例的超时问题

你遇到的ssh: connect to host xxx.xxx.xxx.xxx port 22: Connection timed out错误,说明本地机器无法和EC2实例的22端口建立TCP连接。既然通过EC2 Instance Connect登录一台EC2后能正常SSH另一台,问题就出在本地到EC2的网络路径,或者EC2针对本地IP的入站规则上。以下是具体排查和修复步骤:

  • 检查EC2安全组入站规则
    你的EC2实例绑定的安全组很可能没有允许来自本地Debian机器公网IP的SSH(22端口)流量。

    • 登录AWS EC2控制台,选中目标实例,进入其关联的安全组页面。
    • 编辑入站规则,添加一条新规则:类型选SSH,协议TCP,端口22,来源填本地机器的公网IP(在Debian上执行curl ifconfig.me获取)。
    • 保存规则后重试SSH连接。
  • 验证VPC网络ACL设置
    网络ACL是VPC子网的防火墙,如果它阻断了22端口的入站流量或临时端口的出站流量,会导致连接超时。

    • 进入AWS VPC控制台,找到EC2实例所在子网对应的网络ACL。
    • 确保入站规则中存在允许本地IP访问22端口的条目(规则编号小于100,动作允许)。
    • 确保出站规则中允许本地IP访问1024-65535端口(SSH返回流量需要用到这些临时端口)。
  • 检查本地Debian防火墙配置
    本地防火墙可能阻断了22端口的出站流量。

    • 如果使用ufw,执行sudo ufw status查看状态,确认是否有允许22/tcp出站的规则。
    • 如果没有,执行sudo ufw allow out 22/tcp添加规则。
    • 也可以临时关闭ufw(sudo ufw disable)测试是否是防火墙导致的问题,测试后记得重新开启。
  • 排查ISP限制
    部分ISP会阻断22端口的出站SSH流量。尝试连接其他外部SSH服务器(比如朋友的服务器或公开测试服务器),如果同样超时,联系ISP解决限制。

  • 检查SSH密钥权限与sudo使用
    虽然超时错误和权限无直接关联,但使用sudo可能导致密钥所有权问题。

    • 确保密钥文件权限严格:chmod 600 my-key.pem。
    • 尝试不使用sudo执行SSH命令(除非你的用户没有密钥文件的访问权限)。

内容的提问来源于stack exchange,提问作者Wilian Fiabani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 18:25:53