我正在尝试首次启动并运行 Ansible。出于某种原因,当我运行以下命令时,我添加到 hosts 文件中的参数未被使用:ansible all -m ping
它尝试 ping 文件中的两个主机,但使用我的本地用户名而不是 hosts 文件中指定的用户名。
我有以下主机文件:
[dev]
xx.5.xxx.1xx ansible_user=ec2-user ansible_ssh_private_key_file=~/Documents/AWSKeys/myKey1.pem
mysite.theweb.com ansible_user=ec2-user ansible_ssh_private_key_file=~/Documents/AWSKeys/myKey2.pem
但是,如果我在命令本身中传递参数,它就可以正常工作。
这是成功的:
ansible all -m ping -u ec2-user
密钥被加载到 SSH 代理中。
我想使用 hosts 文件来添加许多具有不同密钥的机器,所以我确实需要让它工作起来。
答案1
我明白了。运行ansible --version
返回的是 2.0 版之前的版本。当前文档是针对 >2.0 编写的。
我能够使用ansible_ssh_user=ec2-user
在 v2.0 中已弃用的功能。