第一天有ansible,我正在关注入门文档。
http://docs.ansible.com/intro_getting_started.html
我用一个主机创建了'/ etc / ansible / hosts'文件。
命令'sudo ansible all -m ping -vvvv'工作正常。
当我放弃sudo时,我得到了......
02.my_first_host.com | FAILED => SSH错误:权限被拒绝(publickey,gssapi-with-mic,密码)。 连接到xx.xx.xx.xx时:22 使用-vvvv重新运行命令有时很有用,它会打印SSH调试输出以帮助诊断问题。
这是/ etc / ansible / hosts文件的权限问题吗?我以递归方式将/ etc / ansible的所有权更改为我的用户而没有运气。
提前谢谢!答案 0 :(得分:2)
您可以通过behavioral parameters在广告资源文件中定义用户。但是-u
和你一样,应该有相同的结果。
可能是Ansible没有使用您的私钥,因为您没有.ssh / config。 (疯狂猜测!)您可以使用--private-key
明确地将路径传递给密钥,或者再次将其设置为清单或组/主机变量中的行为参数。
通过库存:
[all:vars]
user=root
ansible_ssh_private_key_file=/path/to/file
通过group_vars,相对于您的剧本保存为group_vars/all
:
...
user: root
ansible_ssh_private_key_file: /path/to/file
---