最近在使用阿里云美国地域的ECS时遇到一个SSH连接问题。
服务器之前一直可以正常通过SSH登录,但在控制台执行重启后,突然无法连接,SSH客户端一直提示连接超时。
目前已经做过以下检查:
目前比较疑惑的是,既然安全组22端口已经放行,还有哪些地方可能导致SSH超时?
是否需要继续检查服务器内部防火墙、sshd服务状态、网卡配置、路由、iptables/firewalld,或者系统启动后网络服务没有正常起来?
如果不能直接SSH登录,有没有办法通过阿里云控制台进一步确认是系统内部问题还是公网网络问题?想请教一下比较完整的排查顺序。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
如果安全组已经放行22端口,但SSH还是提示 Connection timed out,就不要只盯着安全组了。
本文由 云国际站代理商『云老大 飞弟:@yunlaoda360 / YunLaoDa-服务器服务商•撰写』如需转载请注明!
尤其是“重启前正常、重启后突然连不上”,建议优先检查这几个地方:
确认ECS公网IP没有变化,同时检查安全组22端口的来源地址是不是当前电脑的公网IP。
可以本地测试:
nc -vz 服务器公网IP 22
如果SSH进不去,可以先通过阿里云ECS控制台远程连接进入服务器,然后执行:
systemctl status sshd
ss -lntp | grep :22
如果sshd没启动,可以尝试:
systemctl restart sshd
再检查SSH配置:
sshd -t
重启后突然SSH超时,很可能是防火墙规则重新加载。
iptables -L -n
或者:
firewall-cmd --list-all
重点确认22端口和当前客户端IP没有被拦截。
ip addr
ip route
确认网卡正常、私网IP正常,并且存在默认路由。
Connection timed out:优先查防火墙、网卡、路由
Connection refused:优先查sshd和22端口监听
Permission denied:优先查用户名、密码、密钥和SSH认证配置
就这个场景来说,我会优先执行:
systemctl status sshd
ss -lntp | grep :22
iptables -L -n
ip addr
ip route
这几条基本就能快速判断问题是在SSH服务、系统防火墙,还是网络配置。