1.环境需求:Server A&B都需要安装ssh服务和openssl-clients.
Server A: 172.20.1.59
Server B: 172.20.1.21
2.名词解释.
(1)authorized_keys:存放远程免密登录的公钥,主要通过这个文件记录多台机器的公钥(初始不存在该文件)
(2)id_rsa:生成的私钥文件
(3)id_rsa.pub : 生成的公钥文件
(4)know_hosts:已知的主机公钥清单
3.在Server A生成本机的公钥和私钥,一路回车,默认即可,默认公钥和私钥存储在/root/.ssh文件夹下,当然也可以生成自己的设置. 公钥交给Server B,当Server A去连接Server B时,Server B会使用公钥与Server A的私钥配对,配对成功,则连接成功.
#ssh-keygen -t rsa
4.将公钥发送到Server B,输入Server B密码,发送成功后,会在Server B的/root/.ssh文件夹下生成authorized_keys文件.
#ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.20.1.21
5.在Server A上ssh连接Server B,免密登录成功.
#ssh root@172.20.1.21
6.查看Server B的authorized_keys文件.
#cat /root/.ssh/authorized_keys
7.如果要从Server B免密登录到Server A,需要在Server B重复以上步骤1-6.
8.当有多台服务器需要认证时,可以把公钥文件先发送给同一台服务器,然后在这台服务器上把自己的公钥文件也加进去之后把authorized_keys文件远程拷贝到其它机器的相应目录下即可.
常见报错及其solution:
MobaXterm连接服务器的时候提示 /usr/bin/xauth: file /root/.Xauthority does not exist