我有一个小而简单的手册,可以在另外两台服务器上创建一个目录,我已将其保存在一个库存文件中并传递名称'dev-edge'。
当我尝试运行时,我得到了一个:
a2s3421.fake.cor.com : ok=0 changed=0 unreachable=1 failed=0
a1s3433.fake.cor.com : ok=0 changed=0 unreachable=1 failed=0
我可以'ssh niall@g4t7459.houston.hpecorp.net'
因此可以从ansible服务器访问服务器。
我认为这是因为我没有传递密码,我曾尝试使用'become_pass:XXXXX',但仍然无效。
有人能告诉我如何在剧本中添加/申请密码吗? 或者还有另一个原因导致我在运行剧本时遇到无法访问的错误吗?
感谢您的帮助 Frostie。
'剧本'
- hosts: dev-edge
remote_user: "{{ user }}"
tasks:
- name: create directories
become: yes
become_user: niall
command: mkdir /opt/apps/niall_test
答案 0 :(得分:1)
我通过在运行playbook时传递以下内容来解决这个问题
--extra-vars='ansible_become_pass= XXXXXXX
答案 1 :(得分:1)
为避免在命令行上指定密码,请按照此答案中关于become on sudo的说明使用--ask-become-pass
。
答案 2 :(得分:0)
您需要使用--ask-pass
选项运行Playbook。有关详细信息,请参阅ansible-playbook --help
。
摘自帮助:
-k, --ask-pass ask for connection password
答案 3 :(得分:0)
您可以使用--ask-pass运行或使用无密码ssh。