linux 2台机器之间建立ssh互信

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux 2台机器之间建立ssh互信相关的知识,希望对你有一定的参考价值。

环境说明
192.168.157.101 vms001 RHEL7.1
192.168.157.102 vms002 RHEL7.1

vms001服务器操作
1.vms001生成公钥私钥
技术分享图片
命令执行成功,会在~/.ssh目录下生成2个文件
技术分享图片
id_rsa.pub为公钥文件,现实生活中相当于锁
id_rsa 为私钥文件,现实生活中相当于钥匙

2.借用ssh-copy-id工具把公钥上传到vms002服务器,实现无密码登录

[[email protected] ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub 192.168.157.102 #公钥上传到对方服务器
技术分享图片
上传完成后再vms002上的/root/.ssh/authorized_keys文件中,就会保存vms001的公钥信息,authorized_keys文件会自动创建,如下:
[[email protected] ~]# cat /root/.ssh/authorized_keys
技术分享图片
再次使用ssh登录,就不需要输入密码了
[[email protected] ~]# ssh -i /root/.ssh/id_rsa 192.168.157.102 #公钥上传到目标服务器之后,我们可以使用-i参数指定对应的私钥来无密码登录服务器
[[email protected] ~]# ssh 192.168.157.102 #也可以不使用-i参数,直接使用ssh登录,它直接默认使用的是/root/.ssh/id_rsa这个私钥文件

vms002服务器操作
[[email protected] ~]# cd ~
[[email protected] ~]# ssh-keygen -t rsa #同样会生成公钥以及私钥文件
[[email protected] ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub 192.168.157.101 #上传公钥信息到vms001服务器

至此,vms001和vms002的ssh互信关系,建立完成。这里使用的是root用户创建的互信,也可以使用普通的用户来建立互信。
在使用ansible的时候,我们在ansible服务器上生成公钥和私钥,然后将公钥上传到每一个被管理的服务上,就可以实现ansible服务器无密码登录每一个被管服务器,从而实现ansible对多台服务器的同时操作。

以上是关于linux 2台机器之间建立ssh互信的主要内容,如果未能解决你的问题,请参考以下文章

Linux服务器之间互信(无密码输入)

Linux之间配置SSH互信(SSH免密码登录)

Linux之间配置SSH互信(SSH免密码登录)

三台机器之间root用户ssh互信配置

ssh免密连接互信认证

ansible主机互信