“轻量应用服务器”(Light-house)无法远程连接,通常由防火墙拦截、SSH 服务异常、系统资源耗尽或密钥/密码错误四大类原因导致。请严格按照以下“由外到内”的排查链路进行诊断:
在深入排查前,先明确“连不上”的具体表现,这决定了排查方向:
终端报错信息 | 可能原因 | 优先级 |
|---|---|---|
Connection timed out | 网络不通、端口未放行、安全组拦截 | 🔴 高 |
Connection refused | SSH 服务未启动、端口被修改、监听地址错误 | 🔴 高 |
Permission denied (publickey,password) | 密码错误、密钥不匹配、root 登录被禁 | 🟡 中 |
Host key verification failed | 服务器重装后指纹变更、中间人攻击风险 | 🟢 低 |
连接后立刻断开 / 卡死 | 系统负载过高、内存溢出、磁盘满 | 🟡 中 |
第一步:测试网络连通性 在本地终端执行:
ping <服务器公网IP>
telnet <服务器公网IP> <SSH端口>
# 或使用 nc 命令
nc -zv <服务器公网IP> <SSH端口>进入 轻量应用服务器控制台 > 实例列表:
进入 实例详情 > 防火墙:
当 SSH 完全不可用时,VNC 是唯一可靠的带外管理通道:
systemctl status sshd # CentOS/TencentOS
systemctl status ssh # Ubuntu/Debianinactive (dead) → systemctl start sshd && systemctl enable sshdfailed → 查看日志:journalctl -xeu sshd --no-pager | tail -50sshd -t # 语法检查,无输出表示正确
grep -E "^(Port|ListenAddress|PermitRootLogin|PasswordAuthentication|PubkeyAuthentication)" /etc/ssh/sshd_config重点确认:
Port 是否与防火墙放行端口一致ListenAddress 是否为 0.0.0.0(而非仅 127.0.0.1)PermitRootLogin 未被设为 no(除非你用普通用户+sudo)PubkeyAuthentication yes 且 AuthorizedKeysFile 路径正确free -h # 内存使用情况
df -h # 磁盘空间(重点关注 / 和 /var)
top -bn1 | head -20 # CPU 和进程负载
dmesg | grep -i "oom\|kill" # 是否发生过 OOM Kill/var/log 或 /tmp 爆满会导致 SSH 无法写入临时文件而拒绝连接。清理大文件:find /var/log -type f -size +100M -exec ls -lh {} \;dmesg 中有 Out of memory: Killed process xxx (sshd),说明内存不足,需增加 Swap 或升级配置。若之前安装过 Fail2ban 或手动配过 iptables,可能将自己误封:
fail2ban-client status sshd # 查看被封 IP 列表
iptables -L -n | grep DROP # 检查是否有针对你 IP 的 DROP 规则解封命令:
fail2ban-client set sshd unbanip <你的IP>
# 或临时清空 iptables(谨慎!)
iptables -Fpasswd root/etc/shadow 中 root 账户是否被锁定(第二字段为 ! 或 *):passwd -u rootssh -vvv root@<IP> 查看详细握手过程,定位是哪一步失败。restorecon -Rv ~/.ssh若以上步骤均无效,按以下顺序尝试:
iptables -F 或修改 sshd_config 后不验证就退出 VNC。原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。