开户与防风控指南

腾讯云国际站服务器连不上 SSH 怎么办:CVM 与轻量 Lighthouse 登录失败排查

腾讯云国际站 CVM 或轻量应用服务器 Lighthouse 连不上 SSH?按官方文档先用自助诊断和 VNC 定位,再依次排查网络与端口、安全组和实例防火墙、默认用户名与密钥、sshd 配置报错和系统启动问题,附报错对照表。

云大仙 YunDaXian 发布于 约 11 分钟阅读
腾讯云国际站服务器连不上 SSH 怎么办:CVM 与轻量 Lighthouse 登录失败排查
本文目录(27)
  1. 一、先看报错,判断卡在哪一层
  2. 二、第一步:先用控制台工具定位(CVM)
  3. 1. 跑一次自助诊断
  4. 2. 不登录也能查:用自动化助手发命令
  5. 3. 用 VNC 登录进实例
  6. 三、第二步:网络和端口
  7. 1. 测网络和端口
  8. 2. CVM:检查安全组入方向规则
  9. 3. Lighthouse:检查实例防火墙
  10. 四、第三步:用户名、密码和密钥
  11. 1. 用户名先对上
  12. 2. Lighthouse 第一次用本地工具登录,要先重置密码或绑定密钥
  13. 3. 绑定密钥后,root 密码登录会被关闭
  14. 4. 用密钥登录的正确姿势
  15. 5. 重装系统后提示主机指纹变化
  16. 五、第四步:进实例检查 sshd 配置
  17. 文件权限导致 sshd 起不来
  18. 重启后进不了系统
  19. 六、第五步:资源占满也会导致连不上
  20. 七、排查顺序一览
  21. 我的建议:一开始就把入口配好
  22. 常见问题
  23. 刚买的服务器 SSH 就连不上,是账号被风控了吗?
  24. Lighthouse 控制台里能登录,本地 Xshell 却登不上,为什么?
  25. 绑定密钥之后,原来的 root 密码就不能用了?
  26. 改了 SSH 端口后连不上怎么办?
  27. 代开的腾讯云国际账号,服务器连不上找谁?

在腾讯云国际站(tencentcloud.com)开好服务器,第一次 SSH 登录就卡住的人很多:终端转半天提示 Connection timed out,或者密码明明没输错却一直 Permission denied。先说结论:这类问题绝大多数出在网络和端口、登录用户名、密码与密钥、实例里的 sshd 配置这四处,跟账号本身关系不大。按「先用控制台工具定位,再从外到内逐层排查」的顺序走,一般都能自己解决。

本文同时覆盖云服务器 CVM 和轻量应用服务器 Lighthouse,两者的端口放行和默认用户名不一样,后面会分开说。规则和操作以腾讯云国际站官方文档为准,文中附了对应链接,界面名称以控制台实际显示为准。

一、先看报错,判断卡在哪一层

报错 / 现象大概率卡在哪优先检查
Connection timed out、一直转圈网络不通或端口被拦公网 IP、安全组(CVM)或防火墙(Lighthouse)、本地网络
Connection refused能到达实例,但端口上没有 sshd 在听sshd 是否运行、SSH 端口是否改过
Permission denied, please try again已连上,认证失败用户名、密码、PermitRootLogin、SELinux
Permission denied (publickey,gssapi-keyex,gssapi-with-mic)服务端关闭了密码登录改用密钥,或调整 PasswordAuthentication
Connection closed by remote host、Connection reset by peer被访问控制策略或防入侵软件拦截/etc/hosts.deny、iptables、Fail2ban
REMOTE HOST IDENTIFICATION HAS CHANGED重装系统后主机指纹变了删除本地 known_hosts 里的旧记录

官方的 Linux 实例登录失败排查思路把常见原因归为五类:SSH 密钥问题、密码问题、带宽占用过高、服务器负载过高、安全组规则不当。下面的步骤也按这个思路展开。

二、第一步:先用控制台工具定位(CVM)

1. 跑一次自助诊断

CVM 控制台提供自助诊断(Self-diagnose)工具,选中目标实例后点击开始检测,可以检查带宽、防火墙和安全组等常见配置问题。官方文档称超过 70% 的登录问题可以通过这个工具定位,所以别急着改配置,先跑一次看报告。

2. 不登录也能查:用自动化助手发命令

在实例详情页的「执行命令」(Run Commands)页签里,可以通过腾讯云自动化助手(TAT)向实例发送命令并查看结果,例如执行 df -TH 看磁盘是不是满了。SSH 进不去时,这是不用登录就能看实例内部状态的办法。

3. 用 VNC 登录进实例

自助诊断和 TAT 都解决不了,就用 VNC。在 CVM 控制台的实例列表里点目标实例的「登录」,在弹出的标准登录窗口里选择 VNC 登录,输入用户名和密码即可。VNC 不经过 SSH,后面几步改 sshd 配置基本都要靠它。忘了密码就先在控制台重置实例密码。

三、第二步:网络和端口

1. 测网络和端口

按官方端口问题排查文档的做法:

ping 实例公网IP
telnet 实例公网IP 22

ping 返回 Request Timeout 说明网络不通,需要按「实例 IP 地址 ping 不通」继续排查;能 ping 通但 22 端口不通,就去检查安全组或防火墙有没有放行。官方建议在不同网络环境(不同 IP 段或运营商)下各测一次,用来区分是你本地网络的问题还是服务器的问题。最简单的办法是切到手机热点再连一次。

另外确认两点:实例确实买了公网 IP;你连的是公网 IP 而不是内网 IP。官方 SSH 报错文档里专门提到,用内网 IP 从外部登录是连接失败的原因之一。

2. CVM:检查安全组入方向规则

CVM 的端口放行靠安全组。官方SSH 登录文档写明,登录前提是实例有公网 IP 并且放行了 22 端口,用快速配置购买的 CVM 默认放行。自定义配置购买、或者后来换过安全组的,要自己确认入方向有一条 TCP 22 的允许规则。

控制台的端口验证(Port Verification)工具里有「一键放通所有端口」,官方把它作为确认是不是端口问题的手段。我的建议是:只拿它做临时测试,确认问题后马上改回只放行 22(或你改过的 SSH 端口),来源尽量填自己的公网 IP,不要长期对全网开放所有端口。

3. Lighthouse:检查实例防火墙

轻量应用服务器的端口放行用的是实例防火墙,在实例详情页的「防火墙」页签里管理。按官方实例防火墙管理文档:

  • 新建实例默认放行 ICMP,以及 80、443、22、3389 端口;
  • 如果你删掉了 22 端口的规则,这个端口就会被禁止访问,需要重新添加;
  • 规则按列表从上到下匹配,排在上面的优先生效,命中后后面的规则不再起作用。所以一条排在前面的「拒绝」规则,会让后面的「允许 22」失效;
  • 每个实例最多 100 条规则。

添加规则时,类型可以直接选 Linux 登录(22)模板;开启「指定来源」后可以只放行你自己的 IP。

两种产品的区别和选择,可以看《腾讯云 Lighthouse 和 CVM 怎么选》。

四、第三步:用户名、密码和密钥

端口通了、能看到登录提示但认证失败,问题就在凭证上。这一步 CVM 和 Lighthouse 差别最大。

1. 用户名先对上

场景默认用户名来源
CVM,非 Ubuntu 镜像rootCVM SSH 登录文档
CVM,Ubuntu 镜像ubuntu同上
Lighthouse,非 Ubuntu 镜像rootLighthouse 第三方 SSH 终端登录文档
Lighthouse,Ubuntu 镜像ubuntu,root 默认不能用密码登录同上
Lighthouse 控制台 OrcaTerm 免密登录lighthouse(具有 root 权限)OrcaTerm 登录文档

最常见的错误是在 Ubuntu 镜像上用 root 加密码去登录,结果一直 Permission denied。换成 ubuntu 再试。

2. Lighthouse 第一次用本地工具登录,要先重置密码或绑定密钥

官方文档说明,第一次用本地远程登录软件(PuTTY、Xshell、终端)登录 Lighthouse 的 Linux 实例,需要先为用户名(如 root、ubuntu)重置密码,或者绑定密钥。控制台里的 OrcaTerm 能直接登录,是因为实例创建时默认绑定了 lighthouse 用户的密钥,这不代表你本地就能用密码登录。

3. 绑定密钥后,root 密码登录会被关闭

按官方Lighthouse 密钥管理文档,Linux 实例绑定 SSH 密钥后,为了安全默认禁止 root 用密码登录。很多人「刚绑了密钥,原来的密码就不能用了」就是这个原因。还有几点要注意:

  • 密钥和实例必须在同一地域才能绑定;
  • 在线绑定要求实例处于运行中,且自动化助手状态正常;离线绑定会先关机再开机,业务会短暂中断,建议在低峰期操作。

如果你确实需要保留密码登录,按官方文档修改 SSH 配置,否则就老老实实用密钥登录。

4. 用密钥登录的正确姿势

按 CVM SSH 登录文档,Linux 或 macOS 本地要先把私钥设成只有自己可读,再指定私钥登录:

chmod 400 /私钥的绝对路径.pem
ssh -i /私钥的绝对路径.pem ubuntu@实例公网IP

Windows 10 的命令提示符里,用文档给出的 icacls 私钥路径 /grant 你的Windows用户名:F 和 icacls 私钥路径 /inheritancelevel:r 两条命令收紧权限。用 PuTTY 的话,需要先用 PuTTYgen 把私钥转成 .ppk 格式,再在 Connection > SSH > Auth 里选择这个文件。

5. 重装系统后提示主机指纹变化

重装系统后服务器的 SSH 主机公钥会变,本地保存的指纹对不上,就会出现 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! 和 Host key verification failed。确认是你自己重装的,就删掉本地 ~/.ssh/known_hosts 里这个 IP 的那一行,PuTTY 则删除对应的已保存会话后重新连接。

五、第四步:进实例检查 sshd 配置

以下操作都要先用 VNC 登录实例。改配置文件前,官方建议先做快照备份;改完 /etc/ssh/sshd_config 后要重启 SSH 服务才会生效(文档里 CentOS 的命令是 systemctl restart sshd.service 或 service sshd restart,其他系统以实际服务名为准)。

对照官方 Linux SSH 登录失败文档,几个高频报错的原因和处理如下:

报错原因处理
not allowed because not listed in AllowUsers 等AllowUsers、DenyUsers、AllowGroups、DenyGroups 限制了登录(Deny 优先于 Allow)删除或注释这些行后重启 sshd
Permission denied (publickey,...)、No supported authentication methods availablePasswordAuthentication no 关闭了密码登录改为 yes,或改用密钥登录
root 登录报 Permission denied, please try againPermitRootLogin no,或 SELinux 开启调整 PermitRootLogin,用 sestatus -v 查 SELinux
Too many authentication failures for rootMaxAuthTries 限制了单次连接的尝试次数检查并调整该参数
Connection closed by remote host、Connection reset by peer/etc/hosts.deny 访问策略、Fail2ban 等改了 iptables、达到 MaxStartups 上限、本地网络依次查 hosts.allow/hosts.deny、iptables -L --line-number、MaxStartups
Maximum amount of failed attempts was reached多次输错密码触发 PAM 锁定策略按文档检查 /etc/pam.d/ 下的 pam_tally 配置
This account is currently not available用户的默认 shell 被改成了 /sbin/nologin在 /etc/passwd 里改回 /bin/bash

文件权限导致 sshd 起不来

官方另一篇关于 no hostkey alg 的文档给了排查方法:在 VNC 里执行 sshd -t。

  • 提示 /var/empty/sshd must be owned by root and not group or world-writable:执行 chmod 711 /var/empty/sshd/;
  • 提示 /etc/ssh/ssh_host_rsa_key are too open:执行 chmod 600 /etc/ssh/ssh_host_rsa_key。

sshd -t 是检查配置的好习惯:每次改完 sshd_config,先跑一遍它,没有报错再重启服务,能避免把自己彻底锁在外面。

重启后进不了系统

如果 VNC 里看到的是 Welcome to emergency mode,说明系统没能正常启动,SSH 自然连不上。官方紧急模式排查文档指出常见原因是 /etc/fstab 配置不当,比如按设备名自动挂载数据盘,重启后设备名变了。处理办法是在紧急模式里先备份再注释掉出错的挂载行,然后在控制台重启实例;没有 root 密码时,改用救援模式修复。

六、第五步:资源占满也会导致连不上

偶尔能连、偶尔超时,或者连上后很卡,要看资源。官方排查文档提到,带宽占用过高、CPU 负载过高都会导致登录失败或访问缓慢,病毒木马、异常程序和后台自动更新都可能把 CPU 占满。处理方式是先用 VNC 登录,用 top 找到占用高的进程,确认是业务负载还是异常程序。如果怀疑被入侵,官方建议用回滚系统盘快照的方式恢复,比只杀掉一个进程更可靠,但回滚会丢失快照之后写入的数据。

七、排查顺序一览

顺序检查项怎么查典型修复
1控制台工具CVM 自助诊断、TAT 执行命令按诊断结果修复
2网络ping、换网络测试、确认用的是公网 IP更正 IP,排查本地网络
3端口telnet 测 22;CVM 看安全组,Lighthouse 看防火墙放行 22,来源收紧到自己的 IP
4凭证用户名、密码、密钥、指纹换对用户名、重置密码、chmod 400 私钥
5sshd 配置VNC 登录后看 sshd_config、sshd -t按报错改参数或文件权限
6系统与资源紧急模式、top修 fstab、处理异常进程或回滚快照

我的建议:一开始就把入口配好

大部分「连不上」是自己配置改出来的:删了防火墙规则、绑完密钥忘了密码已经失效、改了 SSH 端口没同步放行。新机器到手后,花十分钟做这几件事,后面会省很多事:只对自己的 IP 放行 22 端口;用密钥代替密码;改 sshd_config 之前先打快照,改完先 sshd -t;保留 VNC 或 OrcaTerm 作为应急入口。

账号层面的加固(改密码、MFA、登录保护、CAM 子用户)在《腾讯云代开全流程》里有逐项步骤。阿里云那边的同类问题,可以对照《阿里云国际站 ECS 连不上 SSH 怎么办》。

常见问题

刚买的服务器 SSH 就连不上,是账号被风控了吗?

一般不是。新实例连不上,最常见的是用错了用户名(Ubuntu 要用 ubuntu)、Lighthouse 还没重置密码或绑定密钥、CVM 的安全组没放行 22 端口。先按本文第三、四步排查。

Lighthouse 控制台里能登录,本地 Xshell 却登不上,为什么?

控制台的 OrcaTerm 用的是创建实例时自动绑定的 lighthouse 用户密钥,本地工具用不了这把密钥。第一次本地登录,要先在控制台为 root 或 ubuntu 重置密码,或者绑定你自己的密钥。

绑定密钥之后,原来的 root 密码就不能用了?

是的。按官方说明,Linux 实例绑定密钥后默认禁止 root 密码登录。用私钥登录即可;确实需要密码登录,要按官方文档修改 SSH 配置。

改了 SSH 端口后连不上怎么办?

用 VNC 登录,确认 sshd_config 里的 Port 和你要用的端口一致,再到安全组或 Lighthouse 防火墙放行这个新端口,本地连接时加 -p 端口号。三处有一处没对上就会失败。

代开的腾讯云国际账号,服务器连不上找谁?

实例的端口、密码、密钥和系统配置都在你自己的账号控制台里,按本文步骤基本都能自己处理。通过云大仙办理腾讯云代开交付的是 tencentcloud.com 上的独立主账号,云大仙是第三方服务商,不是腾讯云官方,实例内部的排查需要你自己在控制台操作;如果你怀疑是账号状态或余额问题,可以在 Telegram(@daxiancloud)找我们帮忙确认。

---

还没有腾讯云国际账号的话,可以先看《腾讯云账号购买避坑指南》了解几种开通方式的区别,再决定要不要在自助平台下单。

把指南用到下一步

办理前再核对账号条件、当前报价和交付结果;已有账号充值,还需确认结算路径与到账记录。

腾讯云账号购买与代开 →
Telegram 咨询