root 密码不起作用,但可以通过 sudo 用户 (centos) 进行 ssh

root 密码不起作用,但可以通过 sudo 用户 (centos) 进行 ssh

我可以使用 RSA 密钥毫无问题地将其放入我的 centos VPS 中。从那里我可以用来sudo运行命令。但我的 root 密码不起作用。我想知道我在设置无密码腻子登录时是否进行了某些操作。

当我做su任何事情时,我过去的几个 root 密码都不起作用。使用 sudo 我更改sshd_config为允许:

PermitRootLogin  yes
PasswordAuthentication yes

然后重新加载sshd服务。但也无法以 root 身份登录。建议?

更新1尝试过sudo su但结果是

This account is currently not available.

但我的用户密码适用于sudo nano /etc/ssh/sshd_config.我成功地编辑了该文件。

答案1

听起来你不知道你的 root 密码,甚至su拒绝你的密码。

因此,您应该做的是重置 root 密码。运行sudo supasswd在出现提示时输入两次新密码,...

现在您不一定需要知道您的 root 密码。如果您已经使用某些 RSA 密钥登录您的 VPS,您应该能够授权该密钥以 root 身份连接。

即使如此:您不一定需要以 root 身份登录。如果您可以从管理用户处使用 sudo,为什么您希望您的 root 帐户被授权登录您的 SSH 服务器?

假设您只想使用 SSH 密钥登录,请更改您的sshd_config

PermitRootLogin without-password
PasswordAuthentication no

假设您希望阻止 root 使用 SSH,只需执行以下操作:

PermitRootLogin no
PasswordAuthentication no

当且仅当您确定希望通过 SSH 允许 root 密码身份验证并知道您的su密码时,您可以考虑使用:

PermitRootLogin yes
PasswordAuthentication yes

如果您想确保在系统范围内禁用 root 密码身份验证,您可以运行(以 root 身份):

passwd -d

截至您上次编辑时,关于sudo su失败This account is currently not available.:这将表明您的根帐户 shell 已更改为类似nologin.

尝试这个:sudo su -s /bin/bash

假设它确实打开了 root shell,那么您可能想使用 来更改 root shell chsh

答案2

听起来您的 root 密码已更改。用于sudo susu 至 root 并passwd更改 root 密码。

相关内容