SSH连接失败通常因防火墙或安全组阻止22端口,需依次检查云服务商安全组、本地及中间网络策略、系统内置防火墙、SSH服务监听配置及客户端与网络路径问题。
如果您尝试通过SSH连接云服务器,但连接过程长时间无响应或直接中断,则可能是由于防火墙规则或安全组策略阻止了SSH端口(默认22)的入站流量。以下是解决此问题的步骤:
一、检查云服务商安全组规则
安全组是云服务器的虚拟防火墙,控制进出实例的网络流量。若未放行SSH端口,外部连接将被直接拒绝。
1、登录云服务商控制台,进入云服务器(ECS/ECS实例)管理页面。
2、找到目标实例,点击其名称或操作列中的“更多”或“安全组”,进入安全组绑定详情页。
3、点击关联的安全组名称,进入该安全组规则配置页。
4、在入方向规则列表中,查找是否存在协议类型为TCP、端口范围为22、授权对象为0.0.0.0/0(或指定IP段)的规则。
5、如不存在,点击“添加入方向规则”,填写:类型选择“SSH(22)”,协议类型选“TCP”,端口范围填“22”,源IP地址填所需访问的IP或网段(如需限制可填具体IP,测试阶段可暂设为0.0.0.0/0)。
二、验证本地及中间网络防火墙策略
本地终端所在网络(如企业内网、校园网)可能部署了出口防火墙或代理设备,主动拦截或限制SSH连接请求。
1、切换至其他网络环境(例如使用手机热点),再次尝试SSH连接。
2、若切换后连接成功,说明原网络存在策略限制;此时可联系网络管理员确认是否屏蔽了TCP 22端口或SSH协议特征。
3、在本地Windows系统中,打开“Windows Defender 防火墙”设置,进入“高级设置”,检查“入站规则”中是否存在禁用OpenSSH Server或阻断22端口的规则。
4、在本地Linux主机上执行命令:sudo ufw status verbose,确认ufw是否启用且未拒绝22端口;若启用且无对应允许规则,执行:sudo ufw allow 22。
三、检查云服务器操作系统内置防火墙
即使安全组已放行,云服务器操作系统内部运行的iptables、firewalld或nftables仍可能拦截SSH连接请求。
1、通过VNC或云平台提供的Web Shell登录服务器(绕过SSH)。