我是这个梦幻般的自动化引擎的新手,并且对vars文件有一点问题:
通过这个问题,我必须使用特定用户和密码通过SSH连接而不使用keypars。
托管文件
[all:vars]
connection_mode1=ssh
ssh_user1=user1
ssh_pass1=pass1
[serverstest]
host1 ansible_connection=connection_mode1 ansible_ssh_user=ssh_user1 ansible_ssh_pass=ssh_pass1
我也尝试使用“”和{}进行换行但不起作用。
如何在此参数上使用变量?
答案 0 :(得分:2)
ansible_ssh_user
已被弃用。它变为ansible_user
。请参阅here。
永远不要以明文形式存储ansible_ssh_pass
变量;总是使用保险库。请参阅Variables and Vaults。
无论如何,拥有mytest.inventory
文件如下
[all:vars]
ssh_user1=user1
[serverstest]
host1 ansible_user="{{ ssh_user1 }}"
它有效,例如
ansible -i mytest.inventory serverstest -m ping -k
选项-k
要求输入密码。
如果您仍想在清单中写入密码,可以保留密码变量定义并添加ansible_ssh_pass="{{ ssh_pass1 }}"
[serverstest]
192.168.15.201 ansible_user="{{ ssh_user1 }}" ansible_ssh_pass="{{ ssh_pass1 }}"