我有一台 Centos 5.9 服务器,之前我已将其配置为通过 SSH 密钥登录进行访问,并且这已经运行了好几个月。最近我必须远程解决一个问题,这需要我临时重新启用 root 登录。解决这个问题后,我通过在 sshd_config 文件中设置“PermitRootLogin no”禁用了 root 登录,但是,我还设置了“Password authentication no”,我认为我把事情搞砸了。这样做之后,我无法再登录服务器,我只收到以下消息:
Permission denied (publickey,gssapi-with-mic).
我基本上没有其他方法通过 SSH 访问服务器,所以我陷入了困境!我相当确定这是因为我将密码验证设置为否,这是问题所在,我没有更改服务器上的任何其他设置,这些设置应该会影响之前正常工作的密钥。
我如何通过 SSH 重新获得对服务器的访问权限?
答案1
您需要控制台/带外访问。请联系您的托管服务提供商或安排访问等。
答案2
通过远程控制台、救援磁盘等登录,具体取决于您的提供商为您提供的服务。
如果您只希望能够使用密钥通过 ssh 连接到 root,而不是使用密码,那么请设置:
PermitRootLogin without-password
答案3
我在网上查了一下,有 VPS 控制台可以让你访问你的服务器。你的云提供商应该能够帮助你。回到服务器后,复制一份“已知良好”的 sshd_config 文件副本,覆盖现有文件。你确定你禁用了连接到服务器的所有其他方法吗?