如何设置 SSHD 以允许使用公钥认证登录?

如何设置 SSHD 以允许使用公钥认证登录?

我一直在尝试将我的 vps 设置为使用 SSH 密钥而不是密码登录。我读了很多关于如何设置的教程,但就是无法正确设置。

到目前为止我所做的如下

ssh-keygen -t rsa -b 4096

Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
af:3a:f2:75:5f:c2:67:c8:ad:1d:0a:ab root@localhost

将公钥复制到authorized_keys中

cp root/.ssh/id_rsa.pub /root/.ssh/authorized_keys

问题是,我如何通过此密钥登录?我是否将私钥保存在记事本上?因为如果 SSH 密钥通过 ip 登录,我认为我无法登录,因为我的 ip 是动态的。有人能帮我吗?

答案1

必须将的内容id_rsa.pub添加到文件中/root/.ssh/authorized_keys 在您要登录的机器上以 root 身份登录。在该机器(“目标”)上,sshd还必须配置为允许公钥认证。请参阅 sshd_config(5)。

此后,您ssh作为其他计算机的用户root登录到目标计算机(通过名称或 IP 地址,这无关紧要)。如果您已使用/root/.ssh/id_rsa密码保护私钥文件,则ssh系统会要求您输入密码,以便读取私钥。

答案2

如果您出示授权密钥,则默认配置会让您进入,无论您来自哪里。

答案3

尝试使用“ssh-copy-id”,这是一种将密钥复制到具有正确权限的远程服务器的简单方法......

$ ssh-copy-id 用户名@服务器

相关内容