SSH公钥登录的实际用途:在同时使用多台vps时候,我们只要记住IP(甚至域名A记录指向之后只需要记个域名就好了)只是SSH指令登录,十分便捷

1. 准备公钥

首先在常用的电脑上面准备好公钥对,我选择的是一台Ubuntu的电脑,因为,这是我经常带着出去的电脑。公钥对制作方法:

ssh-keygen

然后根据后面的提示一步一步操作即可,默认情况,没有其他需求可以按三次Enter键直接完成,他会在你的家目录里面,新建一个.ssh目录,然后将公钥与私钥存放在里面,我们需要用的就是id_rsa.pub,它的兄弟id_rsa一定要保存好,不要暴露。带有pub的是公钥,不带的是私钥,十分重要。

2. 安装公钥

我们需要先把公钥传到我们需要免密登录的机器里面,我的需要免密登录的vps也是Ubuntu的,当然差别应该不大,我一直在使用Ubuntu发行版。
上传的方法多种多样,我使用的是scp,具体用法,建议百度

scp /<home dir>/.ssh/id_rsa.pub username@remote IP:/<user home dir>/

然后安装公钥:

cd .ssh
cat /<user home dir>/id_rsa.pub >> authorized_keys

安装就完成了,为了保证不会因为权限问题造成失败,建议执行以下命令

chmod 700 ~/.ssh
chmod 600 authorized_keys

3. 设置sshd服务

接下来就要修改sshd配置文件了

vi /etc/ssh/sshd_config

进入了配置文件编辑界面了,请确认下面两项的状态,如果被注释掉,请取消注释

RSAAuthentication yes
PubkeyAuthentication yes

#这一条是允许root用户可以通过ssh登录,如果你本身就是root登录上来的,那么就不需要管,如果不使用root登录也不用理会
PermitRootLogin yes

此时就可以重启sshd然后测试免密了

service sshd restart

当一切测试都OK了,我们可以关闭密码登录,同样还是在sshd_config里面设置

PasswordAuthentication no

4. 结语

至此就配置完成了,我们就可以免密登录了。

最后修改:2018 年 12 月 12 日
如果觉得我的文章对你有用,请随意赞赏