在Ansible playbook中,可以通过使用ansible_ssh_pass参数指定远程主机的SSH密码,而不需要在运行playbook时手动输入密码。以下是一个示例:
在Ansible playbook中的主机组中定义远程主机及其对应的SSH密码:
[webserver]
192.168.0.1 ansible_ssh_pass=MyPassword123
在playbook中,使用hosts字段指定要管理的主机组,并在tasks中执行需要的操作:
- hosts: webserver
tasks:
- name: Install Apache
yum:
name: httpd
state: present
become: true
当需要在远程主机执行命令时,Ansible会自动使用指定的密码进行SSH身份验证,无需手动输入密码。
另外,还可以在Ansible配置文件中全局定义远程主机的SSH密码,避免在每个playbook中都需要指定密码。在ansible.cfg文件中添加以下配置:
[defaults]
ansible_ssh_pass=MyPassword123
这样,当执行任何playbook时,Ansible都会使用此密码进行SSH身份验证。但需要注意的是,这样做存在一定的安全风险,请谨慎使用。