You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何以root身份登录云实例?SSH登Ubuntu正常但root登录失败求助

解决无法以root身份SSH登录的问题

你遇到的这个提示Please login as the user "ubuntu" rather than the user "root",大概率不是常规的PermitRootLogin配置问题,而是系统里存在专门的强制拦截规则。我来帮你一步步排查解决:

第一步:定位提示文本的来源

先全局搜索这段提示内容,找到它藏在哪个文件里:

grep -r "Please login as the user \"ubuntu\"" /etc/ssh/ /root/ /home/ubuntu/

执行这个命令后,你会看到包含这段文字的具体文件路径,这就是问题的根源所在。

第二步:根据来源文件针对性处理

情况1:提示来自/etc/ssh/sshd_config

很多云服务商的官方镜像会在SSH配置文件里添加专门的Match规则限制root登录,典型的配置如下:

Match User root
    ForceCommand echo "Please login as the user \"ubuntu\" rather than the user \"root\""

解决方法:

  • 用ubuntu用户登录后,编辑SSH配置文件:
    sudo nano /etc/ssh/sshd_config
    
  • 找到上述的Match User root块,要么给每行前面加#注释掉,要么直接删除这段内容。
  • 同时确认PermitRootLogin已设置为yes(密码登录)或prohibit-password(密钥登录),如果需要密码登录,还要确保PasswordAuthentication设为yes。
  • 最后重启SSH服务让配置生效:
    sudo systemctl restart sshd
    

情况2:提示来自root用户的shell配置文件

如果搜索结果指向/root/.bashrc或者/root/.profile,说明root用户的登录脚本里被添加了强制退出的代码,比如:

echo "Please login as the user \"ubuntu\" rather than the user \"root\""
exit 1

解决方法:

  • 用ubuntu用户登录后,编辑对应的配置文件:
    sudo nano /root/.bashrc
    
  • 找到这段代码,删除或者给它前面加#注释掉。
  • 保存退出后,再尝试root登录即可正常访问。

情况3:罕见的PAM配置问题

如果前面两种情况都没找到问题,可以检查PAM的SSH配置文件/etc/pam.d/sshd,看看有没有针对root用户的拒绝规则。不过这种情况很少会输出这个特定提示,若发现类似auth required pam_deny.so的针对性规则,可根据需求调整。

最后验证

修改完成后,尝试用root身份SSH登录,应该就能正常访问了。如果还是不行,可以查看SSH服务的日志(journalctl -u sshd),根据报错信息进一步排查。

内容的提问来源于stack exchange,提问作者James Smith

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 04:22:37