我创建了一个 RSA 密钥,但 SSH 一直要求输入密码

我创建了一个 RSA 密钥,但 SSH 一直要求输入密码

在我的 Mac 上,我创建了一个 RSA 密钥并将ssh-keygen -t rsa其保存.ssh/authorized_keys在目标服务器(Ubuntu)上。

我把它放在服务器中/etc/ssh/sshd_config

PubkeyAuthentication yes
RSAAuthentication yes

并重新启动 SSH。但是,它忽略了密钥。出了什么问题?

答案1

您的密钥应该发送.ssh/id_rsa到 Mac,然后id_rsa.pub从 Mac 添加到.ssh/authorized_keys服务器上的文件中。

您或许也应该chmod -R go-wr ~/.ssh在服务器上。

答案2

OpenSSH 教程解释如何解决这个问题。

有可能,您的/home/<user>权限~/.ssh/authorized_keys 不符合 OpenSSH 标准。您可以通过发出以下命令来解决这个问题:

chmod go-w ~/
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

答案3

您想不输入密码就连接到您的 Ubuntu 服务器吗?

当您在 Mac 上生成新的 RSA 密钥对时,您将获得一个私钥 ( id_rsa) 和一个公钥 ( id_rsa.pub)。默认情况下,您会在 中找到它们~/.ssh/

登录到您的 ubuntu 服务器并将 的内容粘贴id_rsa.pub到 中~/.ssh/authorized_keys。此后,您应该能够无需密码进行连接。在标准 ubuntu 系统上,您sshd_config根本不需要触摸 。

相关内容