生成 RSA Key

$ ssh-keygen -t rsa -b 4096

将公钥复制到服务器

$ ssh-copy-id -i ~/.ssh/id_rsa user@host

将 user 替换成你的服务器用户名,host 替换成你的服务器地址

修改服务器配置文件

完成 ID 的复制以后,我们需要先登录服务器,修改 SSHD 的配置文件,开启 PubkeyAuthentication 并禁用 PasswordAuthentication:

PubkeyAuthentication yes
PasswordAuthentication no

保存修改后的配置文件,然后我们重启 SSHD 服务:

systemctl restart sshd

修改本地配置文件

~/.ssh/config 的内容修修改为(如果不存在则创建):

Host *
  IgnoreUnknown UseKeychain
  AddKeysToAgent yes
  UseKeychain yes
  IdentityFile ~/.ssh/id_rsa

也就是说,所有的 Host 都实用刚才生成的 id_rsa,当然你也可以针对不同的 Host 分别配置。

到这里也就完成了整个配置流程,下面可以测试是否能够登录了。

I hope this is helpful, Happy hacking…