多台电脑共用一个ssh密钥来访问被Ansible控制机器
本次操作选取142(master)和141(slavertwo)使用相同的ssh密钥访问140(slaverfour)
机器。
一、142机器上操作
首先在142机器生成ssh Key放在其默认的目录下“~/.ssh”:
# ssh-keygen -t rsa -C "root123@gmail.com" (root123@gmail.com属于自己创建的自
定义部分)

然后进入其目录(/root/.ssh/)下查看其公钥和密钥的权限

然后将此密钥对拷贝出去,本次操作是在虚拟机上进行,所以拷贝到物理机的共享文件
夹中。
# cp id_rsa id_rsa.pub /mnt/hgfs/key/
二、141机器操作
按照其上相同方式生成ssh密钥对:
# ssh-keygen -t rsa -C "root123@gmail.com" (root123@gmail.com是自定义部分,保持
不变)

(如上The key fingerprint is:打印部分和142机器不同,只有后缀root123@gmail.com 相
同,下面的密钥的随机匹配图也是不一样的)
接下来,用刚才拷贝的142机器的密钥对来覆盖141机器的密钥对。

覆盖成功,再查看该密钥对的权限:

注意:此时密钥对的读写权限和权限大小和上面的 142 的机器显示的一样才能保证生
效。
读写权限必须是(
-rw------
-rw-r--r--
)才可用。
三、将一台的公钥传给140
将142机器的公钥传输给被控制机器140。
# scp rp id_rsa.pub 192.168.139.140:/root/.ssh/

四、140机器操作
140机器将刚才的密钥,添加到authorized_keys中。
# cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys

五、测试
142机器:

141机器:

注:由于141第一次和140建立ssh连接,第一次要输入密钥,以后则不需要输入。
到此,测试通过。证明多台机器可以共用一对密钥作为Ansible控制端去访问被控机器。
本文介绍了如何在多台电脑(例如142和141)上设置相同的SSH密钥,以便它们都能无密码访问被Ansible控制的机器(140)。通过在每台机器上生成或覆盖SSH密钥对,并将公钥传输到140,实现了这一目标。最后,测试验证了设置的成功。
685

被折叠的 条评论
为什么被折叠?



