You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

求助:输入正确密码仍无法以Linux系统Root身份登录

求助:输入正确密码仍无法以Linux系统Root身份登录

兄弟,我之前也碰到过一模一样的糟心事——明明确认密码没输错,就是死活登不上root账户!给你整理了几个亲测有效的排查方向和解决办法,你挨个试试:

  • 先排查Root账户是不是被锁定了
    很多Linux发行版为了安全,默认会锁定root账户。如果你能登录普通用户,先执行这个命令解锁:
    sudo passwd -u root
    要是连普通用户都登不进去,那得进单用户模式操作:

    • Ubuntu/Debian系:开机按Shift键进入GRUB菜单,选「高级选项」,再选「恢复模式」,最后选择「root shell」进入命令行
    • CentOS/RHEL系:开机在GRUB界面按e编辑启动项,找到以linux开头的行,把ro替换成rw init=/sysroot/bin/sh,按Ctrl+X进入后,执行chroot /sysroot,再用上面的解锁命令操作
  • 检查键盘布局是不是搞鬼了
    别小看这个!我上次就是因为键盘布局从美式变成了英式,输密码的时候@变成了",自己还没发现。你可以在登录界面先随便输几个字符,看看显示的和你按的对不对;要是能进普通用户,用localectl status查看当前布局,不对的话用localectl set-keymap us改成美式键盘试试。

  • 确认Root密码真的没记错/输错
    有时候脑子抽了记混密码也很正常!如果能进普通用户,先试试sudo su -能不能切换到root,要是这个能成功,说明你登录界面的密码输入肯定有问题;要是也失败,直接用sudo passwd root重新设置一个新密码,设置的时候慢点开,两次输入要一致。

  • 检查PAM模块的登录限制
    有些系统的PAM配置会拦着root登录,你可以用普通用户登录后,打开/etc/pam.d/login或者/etc/pam.d/sshd(远程登录的话)看看,有没有类似auth required pam_deny.so的限制行,有的话先给它加个注释(行首加#),然后重启系统或者对应服务试试。

  • 远程SSH登录的话,检查sshd配置
    要是你是远程登root,得看/etc/ssh/sshd_config里的PermitRootLogin参数,要是设成了no或者prohibit-password,肯定登不上。改成yes(注意:这会降低安全性,问题解决后建议改回prohibit-password或者no),然后重启SSH服务:

    • Ubuntu/Debian:sudo systemctl restart sshd
    • CentOS/RHEL:sudo systemctl restart sshd.service

备注:内容来源于stack exchange,提问作者Aditya_Patil

火山引擎 最新活动