![Root 无法登录远程主机,其他用户](https://linux22.com/image/746112/Root%20%E6%97%A0%E6%B3%95%E7%99%BB%E5%BD%95%E8%BF%9C%E7%A8%8B%E4%B8%BB%E6%9C%BA%EF%BC%8C%E5%85%B6%E4%BB%96%E7%94%A8%E6%88%B7.png)
一切正常。我可以通过 SSH 方法或密码以普通用户或 root 身份登录 FTP 或 Bash/Terminal(在 Win10 PC 上)。
然后今天我在处理一些 wordpress 权限。然后我发现 nginx 在 droplet/server 重启时没有启动。今天我在处理一些用户权限,没什么大问题,最后给了一个 nginx 命令(主要是:“sudo update-rc.d nginx enable”)并重启。
但之后,我无法再通过 FTP 或 Bash 终端以 root 身份登录。通过 ssh 密钥方法或密码。出现错误:“权限被拒绝。请重试”。尽管如此,我能够使用相同的 root 密码在控制台中以 root 身份登录。并且我能够以其他用户身份登录 FTP 或 Bash。此外,我能够使用相同的 ssh 密钥以 root 身份登录另一个 droplet,这些 ssh 密钥已上传到我的 DO 控制面板中,并且其 pvt 密钥位于我的同一台本地 PC 中。
也就是说/场景变成:我本地电脑上的私人密钥和远程主机上的公钥是可以的,因为我能够使用同一个 DO 帐户登录另一个 droplet。
根密码没问题,因为相同的密码可以通过控制台工作。(此外,当我在 bash 中以另一个用户身份登录时,然后在里面我切换到根用户,然后相同的根密码起作用并且我成为根用户)。
sshd_config 文件的所有选项似乎都没问题,因为我可以以另一个用户身份登录(并且我也手动检查了所有 3-4 个相关选项)。
请帮帮我。我只是用头撞墙,但什么也想不起来。
答案1
我能够部分解决我的问题(50%)。我无法通过 ssh 密钥或 pw 以 root 身份(从 Win10 Bash 终端)登录到我的 droplet。
但正如@ajgringo619 所建议的,远程服务器的 /etc/ssh/sshd_config 文件中有一行默认情况下被注释掉,并以这种方式工作。但不知道原因,现在我不得不取消注释该行,以便它变成“PermitRootLogin yes”,并重新加载 ssh 服务(在远程主机上)。
因此,现在剩下的 50% 部分是为什么 root 仍然无法在本地 Bash 中使用 ssh 密钥登录远程 Ubuntu 主机(远程 sshd_config 中的所有设置都正常,对 .ssh 文件夹、id_rsa 和 id_rsa.pub 的权限完全符合要求)。我甚至准备了一个包含一些推荐行的 .ssh/config 文件,但这又出现了另一个/更多错误。因此,删除了该文件,仍然收到错误:权限被拒绝(公钥)。注意:我能够使用 putty ssh 密钥(idrsa.ppk)以 root 身份登录 Sftp/FileZilla
再次感谢@ajgringo619