无法通过 SSH 连接到服务器,因为authorized_keys 位于不同的文件夹中

无法通过 SSH 连接到服务器,因为authorized_keys 位于不同的文件夹中

我之前能够使用密码身份验证通过 SSH 连接到该远程服务器。我想改变它以使其使用私钥/公钥对。我按照必要的步骤生成密钥对,编辑文件/etc/ssh/sshd_config以启用 RSA 和 Pubkey 身份验证,并禁用密码身份验证:

RSAAuthentication yes PubkeyAuthentication yes PasswordAuthentication no

问题是我(错误地)将该文件移出远程主机中authorized_keys的文件夹。~/.ssh/因此,退出远程主机后,我无法通过 SSH 重新登录,因为它无法识别我的私钥,并显示以下消息: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

我现在是否被永久锁定在远程服务器之外?有没有办法authorized_keys在 SSH 命令本身中指定文件的位置?

答案1

不可以,您无法从连接端指定备用位置。这是故意的,也是 ssh 安全性的一部分。如果某些文件具有错误的文件权限(即~/.ssh存储在其中的许多文件),则即使位于正确的位置,ssh 服务器也不会使用某些文件。

如果您删除了密码身份验证并重新启动了 ssh 守护进程/服务,则需要修复本地服务器上的authorized_keys 文件的问题,或者将配置选项更改回允许密码身份验证并重新启动 sshd。

相关内容