![如何设置 SSHD 以允许使用公钥认证登录?](https://linux22.com/image/837690/%E5%A6%82%E4%BD%95%E8%AE%BE%E7%BD%AE%20SSHD%20%E4%BB%A5%E5%85%81%E8%AE%B8%E4%BD%BF%E7%94%A8%E5%85%AC%E9%92%A5%E8%AE%A4%E8%AF%81%E7%99%BB%E5%BD%95%EF%BC%9F.png)
我一直在尝试将我的 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 用户名@服务器