在大规模部署时,需要建立多个ssh连接,但是linux默认需要输入验证信息,如此一来本来是一件简单的事却变的非常繁琐耗时。现在就来介绍怎样自动ssh一台linux(不需要输入验证信息)。

    首先我拿两台linux服务器模拟,地址分别是192.168.22.128、192.168.22.133,我想把192.168.22.128上的东西用scp远程拷贝到192.168.22.133上,步骤如下:

    在没做任何操作之前,用scp远程传东西,会有提示需要输入验证信息,如下图:

建立两台linux信任关系(scp时不用输入验证信息)_linux

在192.168.22.128机器上面做:

    在终端上输入ssh-keygen-t rsa,一直回车:

建立两台linux信任关系(scp时不用输入验证信息)_信任关系_02


然后要在192.168.22.133机器上新建一个隐藏目录.ssh,并记住这个.ssh所在的目录在哪,我这里是把它放在/root目录下。再回到192.168.22.128上面操作:

建立两台linux信任关系(scp时不用输入验证信息)_信任关系_03

解释:也就是把192.168.22.128机器上的/root/.ssh/id_rsa.pub文件远程拷贝到192.168.22.133的/root/.ssh目录下。

然后再登陆192.168.22.133上面操作:

[root@133 .ssh]# cat /root/.ssh/192.168.22.128 >> /root/.ssh/authorized_keys

到这里,再回到192.168.22.128上面远程登陆192.168.22.133试一试,可以用ssh也可以用scp尝试,发现不再需要验证信息数据就可以直接传过去:

建立两台linux信任关系(scp时不用输入验证信息)_信任关系_04


建立两台linux信任关系(scp时不用输入验证信息)_信任关系_05结果表明均不需要验证就可以直接连接远程主机,这里也可以不用root用户,用其他用户操作也可以实现相同的功能,这大大方便了管理多台机器。