我们经常会遇到这样的情况,从一个Linux服务器ssh另外一台Linux服务器,或者使用scp或rsync从一台Linux服务器传数据到另外一台Linux服务器。每次操作的时候都需要输入密码进行验证。如果我们在服务器之间建立信任关系的话则不需要每次都输入密码了。
建立信任关系如下:
(1) 切换到需要建立信任关系的用户根目录
(2) 执行命令:ssh-keygen -d
提示Enter file in which to save the key 这里可以直接回车表示直接选默认选项
提示Enter passphrase (empty for no passphrase) 这里可以直接回车表示直接选默认选项
提示Enter same passphrase again: 这里可以直接回车表示直接选默认选项
这时在用户根目录下面会出现.ssh目录,在.ssh目录下生成两个文件:公钥id_dsa和私钥id_dsa.pub。
(3)在.ssh目录下创建authorized_key文件
(4)在需要建立信任关系的服务器上执行1~3步骤
(5)以服务器A,B为例,建立A,B间的信任关系。将A服务器的公钥id_dsa.pub的内容写入B服务器的authorized_key中,使得B可以访问A;在将B服务器的公钥id_dsa.pub的内容写入A服务器的authorized_key中,使得A可以访问B。这样A,B之间的访问就建立信任关系了。
(6)在多台服务器之间建立信任关系同(5),只要在authorized_key文件中追加写入公钥id_dsa.pub的内容即可。