linux ssh互信配置 - 服务器间免密码登陆
1.简介
相信大家都有一个经历,服务器间登陆、scp拷贝操作时,让你输入被登陆、被拷贝服务器的密码。
不知道各位是什么感受,我是很崩溃的,因为我哪记得那么多密码啊(好吧,我就是记性不好)。这就引出了
服务器之间免密码登陆的需求了,官方一点,叫做ssh互信配置。
ssh互信配置的原理简单来说,就是各自服务器存放了目标主机的证书,当执行登陆时,自动完成认证,从而
不需要再输入任何密码。
2.配置过程
为了简单明了说完这个过程,以下不详细解释每个命令(请自行google):
① 登陆服务器A
② 建立ssh相关目录: mkdir ~/.ssh
③ 设置ssh的权限: chmod 700 ~/.ssh
④ 生成RSA公钥: ssh-****** -t rsa (请一直回车,直至提示结束)
⑤ 将公钥(名为id_rsa.pub文件)追加到认证文件(名为authorized_keys文件)中:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
⑥ 设置认证文件的权限:
chmod 600 ~/.ssh/authorized_keys
OK,服务器A的配置就差不多了,服务器B,服务器C等的操作与此一模一样。但是有一个地方需要提醒,
最后服务器A,B,C三台的 authorized_keys 文件中应该包含这三台服务器的公钥,不然配置会失败。你可以这样做,
在A上生成好authorized_keys后,把它拷贝到机器B,在B上将B的公钥信息追加到authorized_keys后,将它拷贝到
C,在C上将C的公钥信息追加到authorized_keys后,再将这最终的authorized_keys拷贝会机器A和B,并覆盖A和B
原来的authorized_keys的文件。如果你不这样做的话,你可能会遇到,从服务器A ssh到 服务器B,不用输密码,但是反过来就需要输密码的问题了。
####################################
转自:https://blog.****.net/hrn1216/article/details/51568830