基于 SSH 密钥的登录不起作用

基于 SSH 密钥的登录不起作用

我正在尝试设置基于 SSH 密钥的登录从服务器A到服务器B。

ssh-keygen在服务器 A 上运行并用于ssh-copy-id将 id_rsa.pub 复制到服务器 B。当我尝试ssh user@serverB从服务器 A 复制时,我不断收到错误:

Permission denied (publickey).

我已经仔细检查过/etc/ssh/sshd_config file以确保一切设置正确。还要在两台服务器上禁用 SELinux。知道什么可能导致这个问题。

答案1

事实证明,我登录的新服务器(服务器 A)上的 RSA 密钥的大小比我登录的旧服务器(服务器 B)可以处理的大小更大。我在新服务器上生成了 ed25519 密钥并将其添加到authorized_keys 文件中。开始放弃 RSA 密钥的充分理由。

答案2

您需要检查:

  • 服务器B可以接受的密钥类型
  • 如果 ssh pubkey 已正确应用于您尝试使用该密钥登录的用户的authorized_keys 文件(通常~/.ssh/authorized_keys
  • 私钥的权限(不需要向其他用户公开)
  • 文件的权限authorized_keys(同上)。
  • 文件的所有者authorized_keys(必须是用户)。

输出会更有帮助,但目前,这就是我能想到的。

相关内容