我有一个远程主机,以前我可以使用 root 和密码 ssh 进入它
ssh root@remote_host
或者我首先使用普通用户帐户 ssh 进入它
ssh esolve@remote_host
然后su root
输入密码
但今天,在这两种方式中,我的密码总是不正确,例如
[esolve@local esolve]$ ssh root@remote_host
root@remote_host's password:
Permission denied, please try again.
或者
[esolve@remote_host ~]$ su root
Password:
su: incorrect password
相关信息:
如果我今天在远程机器上进行本地操作,我可以使用这个密码以 root 身份登录。
我通过 VPN ssh 进入
为什么会发生这种情况?我怎么解决这个问题?
答案1
你是否禁用了 ssh root 功能?检查您的 sshd 配置(可能/etc/ssh/sshd_config
)并查找该行PermitRootLogin no
。更改no
为yes
并重新启动 sshd(很可能是service ssh restart
或service sshd restart
)。
某些发行版(例如 Ubuntu)默认without-password
允许PermitRootLogin
通过公钥身份验证进行 root 登录,但不允许使用密码。
答案2
如果您是第一次在新系统中访问SSH远程服务器,只需更新它即可。打开ssh配置文件,
# vim /etc/ssh/sshd_config
PermitRootLogin 无密码
改成
允许根登录 是
重新启动您的 ssh 服务。
重新启动 ssh 服务器。
答案3
就我而言,sshd_config 中的第 73 行不允许任何用户使用密码登录。没有在哪里找到这个解决方案,只是运气好而已。要么将其注释掉(或将其设为“是”):
KbdInteractiveAuthentication no
这会在登录远程服务器时禁止键盘交互。