假设两台服务器server1和server2,具体步骤:
- 登陆server1,在server1上生成公钥
ssh-keygen
输入上述命令后,一直按回车,就可以生成当前机器的公钥 id_rsa.pub (id_rsa是私钥),路径在/home/.ssh/中。
- 把server1上的公钥复制到server2上去。
ssh-copy-id server2@192.168.10.1
ssh-copy-id就是复制公钥的意思,其中server2和192.168.10.1分别为server2的用户名和ip。
-
可以直接在server1上免密登陆server2了。使用命令:
ssh server2@192.168.10.1
即可登陆server2,要退出的话,输入exit
即可。 -
如果想在server2上看server1的公钥,进入
cd ~/.ssh/
路径,可以看到路径下面有名为authorized_keys
的文件,cat authorized_keys
命令可以查看该文件,里面就有server1的公钥了。 -
该操作只是单向的,以后从server1登陆server2,以及向server2传数据是免密的,但是反向仍需要密码。如果想要设置双向免密,需要对server2重复上述操作。
【Attention】:
每台服务器的公钥是可以复用的!(比如server1上的公钥可以复制给多个不同的服务器)。如果重新生成了新的公钥,那么用之前公钥绑定的服务器会挂掉!所以在生成公钥前一定要先看看本机是不是已经有公钥了,确认无误后再操作。
参考 https://blog.csdn.net/qq_31382921/article/details/77983955