0
点赞
收藏
分享

微信扫一扫

Ansible连接被控节点的两种方式

春意暖洋洋 2022-03-12 阅读 44

Ansible连接被控节点的两种方式

1、基于端口,用户,密码定义主机清单

ansible基于ssh连接-i(inventory)参数后指定的远程主机时,也可以写端口,用户,密码。
格式:

ansible_ssh_port:指定ssh端口    ansible_ssh_user:指定ssh用户 ansible_ssh_pass:  指定ssh用户登录时认证的密码(明文密码不安全) ansible_sudo_pass: 指定sudo时候的密码

定义主机清单

vim /etc/ansible/hosts  # 维护这ansible中服务器的清单。可以在文件最后追加你要添加的机器信息
[web-servers]		#主机组名
机器IP   ansible_ssh_port=22 ansible_ssh_user=root ansible_ssh_pass=123456
  • 测试主机连通性:
ansible -i /etc/ansible/hosts web-servers -m ping
-i  # 指定host文件的路径,默认时在/etc/ansible/hosts
-m # 指定使用的ping模块

如果报错,需要先手动连接一下该机器,让ansible服务器上有目标机器的fingerprint指纹。后期就可以正常连接了。
再次测试主机连通性:

ansible -i hosts web-servers -m ping

2、基于ssh密钥来访问定义主机清单

一般来说,使用明文密码是很不安全的,所以增加主机之间免密登录。

  • 在Ansible机器上生成密钥,将公钥复制到节点中。
ssh-keygen   # 一路回车
  • 使用ssh-copy-id命令将公钥复制到Ansible控制的节点上
  • 在Ansible的hosts文件中添加刚刚配置了免密登录的主机
vim /etc/ansible/hosts
[web-servers]
免密登录的机器的IP

ping模块检查网络连通性

command模块执行shell命令, command:作为ansible的默认模块,可以运行远程用户权限范围内的所有shell命令。

  • 使用ping检查‘web-servers’组当中机器的连通性
ansible -i /etc/ansible/hosts 'web-servers' -m ping 
或者
ansible 'web-servers' -m ping   # 不指定,默认使用/etc/ansible/hosts文件
举报

相关推荐

0 条评论