很多人第一次在阿里云买好ECS云服务器,打开终端准备做阿里云主机登陆,却看到“Permission denied”或“Connection timed out”。输个IP和密码听起来很简单,实际要过安全组、账号认证、本地网络和系统服务好几道关。下面按排查时的顺序,说明每一步要看什么、怎么看。

先确认实例本身的状态
改配置之前,先花一分钟核对几项基础信息,很多问题就出在这里。
- 实例状态要是“运行中”。已停止或欠费的实例连不上,控制台上一眼就能看出来。
- 公网IP要已经分配,或者绑定了弹性公网IP。只有内网地址的实例,从外部无法直接连接。
- 登录用户名要和镜像对应。CentOS、Alibaba Cloud Linux一般直接用root;Ubuntu默认用ubuntu用户,登录后再用sudo提权。
- 本地网络要能访问公网。公司或学校网络有时会拦截22端口,换个网络试一下就能判断。
有位开发者凌晨部署项目,SSH连接反复失败。后来发现他用的是Ubuntu镜像,却直接以root登录,而Ubuntu默认不允许root远程登录。改用ubuntu用户加sudo,问题当场解决。
检查安全组是否放行端口
安全组是最容易被忽略的环节。入方向如果没有放行22端口(SSH)或3389端口(Windows远程桌面),请求还没到实例就被挡在外面了。
具体操作如下:
- 进入阿里云控制台的“云服务器ECS”页面,找到目标实例。
- 点开实例绑定的安全组,进入安全组配置页面。
- 在“入方向”规则里确认有一条允许TCP 22(Linux)或TCP 3389(Windows)的规则。
- 授权对象尽量填你当前的公网IP,不要图省事直接写0.0.0.0/0。全网放开虽然连得方便,但服务器会一直暴露在全网扫描之下。
安全组规则修改后通常即时生效,不用重启实例。改完再试一次,还连不上就继续往下查。
密码与密钥登录的常见问题
阿里云主机支持密码登录和SSH密钥对登录,两者的排查方向不太一样。
密码登录失败
忘了实例密码,可以在控制台用“重置实例密码”修改。注意重置后通常需要重启实例,新密码才会生效,所以先和团队对好停机时间,别在业务高峰期操作。
输错密码的情况也不少,比如大小写或特殊字符没看清。建议先在记事本里核对一遍,再复制粘贴到终端,减少手动输入的误差。
密钥登录失败
密钥登录最常见的问题是私钥文件权限过宽。Linux和macOS下,私钥权限一般要设为600,权限太开放时SSH客户端会直接拒绝使用。
先修改权限:
chmod 600 ~/.ssh/your_key.pem
再用私钥连接:
ssh -i ~/.ssh/your_key.pem root@你的公网IP
Windows上用PuTTY时也常遇到一个坑。有位用户一直提示认证失败,后来发现他下载的是.pem私钥,而PuTTY需要.ppk格式。用PuTTYgen转换一下,就能正常登录了。
安全组和认证都没问题时,查系统层面
如果前面几步都没问题,就要进到系统内部看看。可以先通过控制台的“远程连接”(VNC)登录实例,这条路不依赖SSH,正好用来排查SSH本身。
SSH服务是否在运行
执行 systemctl status sshd 查看状态。服务没有运行的话,用 systemctl start sshd 启动即可。
SSH配置是否合理
打开 /etc/ssh/sshd_config,重点看三项:
- Port:端口有没有被改过。改了的话,安全组也要同步放行新端口,否则连接会一直超时。
- PasswordAuthentication:需要密码登录时设为yes。
- PermitRootLogin:确实需要root直接登录时才改成yes。能不开就不开,开启后被暴力破解的风险会增加。
改完后执行 systemctl restart sshd 生效。改之前先备份原文件,并保持当前会话不断开。万一配置写错、会话又断了,还能通过控制台的远程连接补救。
防火墙规则
系统内部如果还运行着firewalld或iptables,同样会拦住22端口。用 firewall-cmd –list-all 查看当前规则,确认SSH端口已放行。
登录成功后的加固建议
能登上去只是第一步。服务器一旦暴露在公网,就会不断有陌生IP来尝试登录,下面几项值得尽早做。
- 改掉默认端口,能明显减少自动扫描和暴力破解的噪音。
- 优先使用密钥登录,确认密钥可用之后再关闭密码登录。顺序反了,很容易把自己锁在外面。
- 安装fail2ban之类的工具,对多次失败的登录IP自动封禁。
- 定期查看 /var/log/secure,留意有没有异常登录记录。
有个个人博客服务器上线两周后,日志里出现大量境外IP的失败登录记录。站长关掉密码登录改用密钥,又装了fail2ban,异常尝试很快就没了。
大多数阿里云主机登陆问题,按“实例状态、安全组、认证方式、系统服务”这个顺序走一遍,基本都能找到原因。先从最容易检查的地方入手,别一上来就改系统配置。实在查不出来,可以看控制台的远程连接诊断信息,或者联系阿里云技术支持。