答聚搜云-JuSouYun
这种情况建议先根据报错类型判断问题在哪一层。
你现在遇到的是 Connection timed out,通常优先排查网络链路,而不是马上修改SSH账号或密码。
可以按照下面这个顺序检查。
1. 确认CVM公网IP是否正常
先到腾讯云CVM控制台确认实例处于运行状态,并检查当前公网IP是否与SSH连接时使用的IP一致。
本地可以测试:
ping 公网IP
不过需要注意,Ping不通并不能直接说明服务器异常,因为ICMP可能没有开放。
还可以测试22端口:
nc -vz 公网IP 22
或者:
telnet 公网IP 22
如果一直超时,说明需要继续检查云侧网络和服务器防火墙。
2. 再检查一次安全组
不要只看“有没有22端口”,还要确认:
协议是不是TCP
端口是不是22
来源IP是否包含你当前使用的公网IP
规则是不是允许
有没有优先级更高的拒绝规则
实例是否绑定了多个安全组
如果为了排查临时扩大来源IP范围,确认问题后建议再收紧到固定办公公网IP,不建议长期开放给所有地址。
3. 检查服务器内部防火墙
如果可以通过腾讯云控制台登录服务器,可以检查系统防火墙。
CentOS、Rocky Linux等系统可以查看:
firewall-cmd --list-all
Ubuntu可以查看:
ufw status
同时检查iptables:
iptables -L -n
确认TCP 22端口没有被系统防火墙拦截。
4. 检查sshd服务
继续执行:
systemctl status sshd
部分系统服务名称可能是:
systemctl status ssh
再确认SSH到底监听在哪个端口:
ss -lntp | grep ssh
正常情况下应该能看到22端口处于LISTEN状态。
如果之前修改过:
/etc/ssh/sshd_config
还需要检查是否把默认22端口改成了其他端口。
5. 检查VPC和其他访问控制
如果安全组和服务器系统都没有发现异常,还要继续看VPC相关网络策略,以及是否存在其他云侧访问控制策略。
特别是近期修改过VPC、子网、路由、安全策略或者服务器网络配置的情况,要重点回看最近的变更记录。
6. 根据报错区别排查方向
SSH常见的几个报错其实方向不一样:
Connection timed out
优先检查公网IP、安全组、网络链路、防火墙。
Connection refused
通常说明服务器已经可以访问,但22端口没有程序正常监听,需要重点检查sshd。
Permission denied
说明网络和SSH服务基本已经正常,下一步应该排查用户名、密码、密钥以及SSH认证配置。
所以如果已经确认安全组放行22端口,个人建议不要马上重装系统,而是按照“公网IP → 安全组 → 网络 → 系统防火墙 → sshd监听 → SSH认证”这个顺序逐层排查,通常更容易找到具体原因。