【发布时间】:2019-06-20 07:20:50
【问题描述】:
在 ansible 方面需要帮助。在我们公司,我们使用以下方法 ssh 到服务器。 如果服务器的 IP 是 172.16.1.8 ,则用户名将是“empname~id~serverIP”,例如约翰~1234~172.16.1.8。所以使用以下 ssh 命令 -
> ssh john~1234~172.16.1.8@172.16.1.8 -i key.pem
基本上用户名将主机名作为变量。
现在我们的广告资源只有带有组网的 IP。
> cat inventory.txt
[web]
172.16.1.8
172.16.x.y
172.16.y.z
我的剧本 yml 有如下的 ansible 用户。
> cat uptime.yml
- hosts: web
vars:
ansible_ssh_port: xxxx
ansible_user: john~1234~{{inventory_hostname}}
tasks:
- name: Run uptime command
shell: uptime
但是,当我使用以下 ansible-playbook 命令时,它会因用户名不正确而出错。
> ansible-playbook -v uptime.yml -i inventory.txt --private-key=key.pem
请帮我在 playbook 中找到正确的 ansible_user,其中包含主机名作为变量。
【问题讨论】:
标签: ansible