用ansible批量测试服务器用户名和密码
时间: 2024-03-12 14:43:08 浏览: 68
可以通过 Ansible 的 expect 模块来实现批量测试服务器用户名和密码。
首先,在 Ansible 主控机上安装 expect 模块:
```
sudo yum install expect -y
```
然后,在 Ansible 的 inventory 文件中添加需要测试的服务器 IP 地址和对应的用户名和密码,例如:
```
[test_servers]
192.168.1.101 ansible_user=root ansible_password=123456
192.168.1.102 ansible_user=root ansible_password=123456
```
接下来,编写 Ansible playbook 文件,使用 expect 模块测试用户名和密码是否正确,例如:
```
- name: Test server login credentials
hosts: test_servers
gather_facts: no
tasks:
- name: Test login credentials
expect:
command: echo "test"
responses:
Username: "{{ ansible_user }}"
Password: "{{ ansible_password }}"
```
在上面的 playbook 文件中,使用 expect 模块执行 echo 命令,并在 responses 中指定需要输入的用户名和密码。如果测试成功,将会输出 "test",否则会输出错误信息。
运行上述 playbook 文件,即可批量测试服务器用户名和密码是否正确。
阅读全文