我之前关注过本指南将 SSH 密钥添加到我的远程服务器(我没有隐藏或删除密钥,只是为了确保我不会失去访问权限)。它受密码保护。但是我将密码更改为其他内容,并将其改回旧密码,但现在我无法使用另一个终端会话登录它。只有我当前的终端会话可以登录,不幸的是,这一切都是以 root 用户身份进行的。我生成了新的 SSH 密钥并将其添加到服务器和我的机器上,但我仍然无法从另一个终端会话登录它。我该如何解决这个问题?!
我担心如果我不能及时找到解决方案,即我的互联网断开连接,我就会被锁定。
答案1
检查服务器上的日志。如果登录失败,通常会在日志中写入一些内容。
根据您的评论,您无法以普通用户身份执行 su。这表明您尝试提供错误的密码,否则 su 会起作用。
尝试将 root 密码更改为简单且不可能输错的密码。如果服务器没有防火墙,请确保将其更改为较长的密码,这在您进行短暂的实验时就足够了。请确保实际输入密码,不要复制和粘贴。
如果您有公钥/私钥,请确保只有所有者才有权读取/写入目录.ssh
以及密钥。ssh 服务器不会授权除所有者之外的任何人可以访问的密钥。
如果仍然无法登录,请在另一个端口上以调试模式运行 ssh 服务器,如下所示:
/usr/sbin/sshd -d -d -d -p 10022
然后尝试连接到端口 10022。调试 sshd 进程会将所有内容记录到屏幕上,因此您可以发现任何阻止您登录的错误或异常。
答案2
您是否更改了 sshd_config?如果希望能够以 root 身份登录,则PermitRootLogin
需要设置密码Yes
(并重新加载 sshd)。
如果您担心在解决问题时丢失连接,请创建一个新用户并设置密码(您可以以 root 身份执行此操作)。除非 sshd 真的坏了,否则这将允许您登录并 su - 为 root。