配置步骤

一、使用 ssh-keygen 生成密钥

在本地使用 ssh-keygen 生成密钥,生成密钥之前先查看是否存在 ~/.ssh/id_rsa.pub 文件,如果已存在则跳过此步骤。
输入 ssh-keygen 命令后一直敲回车就行:

  1. $ ssh-keygen
  2. Generating public/private rsa key pair.
  3. Enter file in which to save the key (/root/.ssh/id_rsa):
  4. Enter passphrase (empty for no passphrase):
  5. Enter same passphrase again:
  6. Your identification has been saved in /root/.ssh/id_rsa.
  7. Your public key has been saved in /root/.ssh/id_rsa.pub.
  8. The key fingerprint is:
  9. SHA256:27xfRBJ+O5YFG9gdU65quICjv1Az1D8Q0Oeyx8Ncq+0 root@localhost.localdomain
  10. The key's randomart image is:
  11. +---[RSA 2048]----+
  12. | .o. .oo++|
  13. | ........=o|
  14. | . oo o + o|
  15. | . .o. .+ = |
  16. | + S*o. .B |
  17. | . +.+*o.+ . |
  18. | . o o.++o . |
  19. | o . ..+.. |
  20. | ..o. ooE |
  21. +----[SHA256]-----+

完成上面的步骤后,将生成 ~/.ssh/id_rsa.pub~/.ssh/id_rsa 密钥文件。

二、上传公钥到 Linux 服务器

手动将生成的公钥 ~/.ssh/id_rsa.pub 插入到 Linux 服务器的 ~/.ssh/authorized_keys 文件中,如果 ~/.ssh/authorized_keys 已有内容则新建一行,如果 ~/.ssh/authorized_keys 不存在,则新建此文件。
注意 ~/.ssh/authorized_keys 文件的权限要设为 644,即只有文件所有者才能写。如果权限设置不对,SSH 服务器可能会拒绝读取该文件。

测试

完成上面的配置后,登陆服务器就不用输入密码啦:

  1. $ ssh root@172.16.250.13
  2. Last login: Sun Oct 24 15:53:06 2021 from 172.16.99.16
  3. [root@localhost ~]#