配置步骤
一、使用 ssh-keygen 生成密钥
在本地使用 ssh-keygen
生成密钥,生成密钥之前先查看是否存在 ~/.ssh/id_rsa.pub
文件,如果已存在则跳过此步骤。
输入 ssh-keygen
命令后一直敲回车就行:
$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
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:
SHA256:27xfRBJ+O5YFG9gdU65quICjv1Az1D8Q0Oeyx8Ncq+0 root@localhost.localdomain
The key's randomart image is:
+---[RSA 2048]----+
| .o. .oo++|
| ........=o|
| . oo o + o|
| . .o. .+ = |
| + S*o. .B |
| . +.+*o.+ . |
| . o o.++o . |
| o . ..+.. |
| ..o. ooE |
+----[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 服务器可能会拒绝读取该文件。
测试
完成上面的配置后,登陆服务器就不用输入密码啦:
$ ssh root@172.16.250.13
Last login: Sun Oct 24 15:53:06 2021 from 172.16.99.16
[root@localhost ~]#