任务 3 使用 ansible ping 模块实现测试主机互通性
任务目标
由于装有 ansible 的操作机“serverA”在实现自动化部署的过程中,需要访问其他主机对其配置进行添加或修改。因此,我们需要通过创建和拷贝密钥对,实现多机之间的免密登录,并使用 ansible ping 模块,测试多机之间的互通性,实现操作机“serverA”可对其他主机进行免密访问。
任务步骤
1.实现“serverA”对“serverB”的免密登录
1)使用以下命令,在部署 web 集群的操作机“serverA”实例上生成密钥对。
ssh-keygen -t rsa -f /root/.ssh/id_rsa -N ''
2)查看密钥对保存的位置,密钥对包括私钥和公钥。
ls /root/.ssh
3)使用命令将密钥对同步到主机“serverB”上。
注意:在此处输入“serverB”实例的公网地址和内网地址都能实现同步,选择其一即可,我们在这里选择内网地址,并输入“serverB”实例的登录密码。
ssh-copy-id <serverB实例内网地址>
如本次实验使用的“serverB”服务器内网地址为:
ssh-copy-id 172.16.0.25
4)登录“serverB”云服务器实例上,查看同步过来的密钥对。
ls /root/.ssh
5)内网和公网访问。
- 此时在部署自动化的操作机“serverA”实例上就可以实现免密访问分机“serverB”实例了,先尝试使用内网地址访问,查看到操作机“serverA”实例访问“serverB”实例成功。
ssh <serverB实例内网地址>
如本次实验使用的“serverB”服务器内网地址为(内网地址下同):
ssh 172.16.0.25
注意:同样地,由于将包含公钥和私钥的密钥对同步到了主机“serverB”和“serverC”上,所以免密公网访问和免密内网访问都可以实现。
- 我们使用【Ctrl+D】退出“serverB”再回到“serverA”实例上,使用公网访问“serverB”实例,查看到同样访问成功。
ssh <serverB实例公网地址>
如本次实验使用的“serverB”服务器公网地址为(公网地址下同):
ssh 129.204.227.105
6)使用 ping 模块,输入“serverB”公网地址查看“serverA”和“serverB”的主机连通性。
ansible <serverB公网地址> -m ping
若显示“SUCCESS”和“pong”字样,则表示两主机互通。
2.实现“serverA”对“serverC”的免密登录
同理,实现对“serverC”的免密登录也需做相同的操作,即可实现“serverA”和“serverC”的互通。
1)输入”serverC“内网地址,拷贝密钥对。
ssh-copy-id <serverC内网地址>
ssh-copy-id 172.16.0.38
2)在“serverC”上查看密钥对。
ls /root/.ssh
3)“serverA”实例内网访问“serverC”实例。
此时在部署自动化的操作机“serverA”实例上就可以实现免密访问分机“serverC”实例了,先尝试使用内网地址访问,查看到操作机“serverA”实例访问“serverC”实例成功。
ssh <serverC内网地址>
ssh 172.16.0.38
4)“serverA”实例公网访问“serverC”实例。
ssh <serverC公网地址>
ssh 111.230.212.13
5)使用“serverC”公网地址查看到与“serverA”实例两台主机互通。
ansible <serverC公网地址> -m ping
学员评价