我可以使用 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 su
,passwd
在出现提示时输入两次新密码,...
现在您不一定需要知道您的 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 su
su 至 root 并passwd
更改 root 密码。