在我的 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
根本不需要触摸 。