我可以在host_vars或group_vars中设置remote_user吗?

时间:2015-06-04 22:17:08

标签: ansible ansible-playbook

我开始用ansible编写我的第一本严肃的剧本。

我想做的是为每个主机指定不同的remote_user值。我可以通过CLI remote_user选项在ansible.cfg中设置-u,甚至可以在播放变量中设置--- - name: install dependencies hosts: all sudo: yes vars: remote_user: username ,如下所示:

group_vars/all

但是在主机或组级别设置var(这对我的方法最有意义)将不起作用。例如,将此文件设为--- remote_user: username 会导致“身份验证失败”致命错误:

{{1}}

我错过了什么?

1 个答案:

答案 0 :(得分:1)

您正在做的事情似乎没有记录。具体来说,你有这个:

vars:
  remote_user: username

根据documentation,它应该是这样的:

remote_user: username

当你以错误的方式做错时它碰巧工作的事实是无关紧要的。有一些副作用使它在这种情况下起作用,但当然它不会在另一种情况下起作用,并且在不同的Ansible版本中它可能表现不同。

要以每个主机中的其他用户身份登录,通常的方法是在inventory中指定ansible_ssh_user。这是否是可以在host_varsgroup_vars中覆盖的变量,我不确定。另请参阅issue 4688,了解ansible_ssh_userremote_user如何相互覆盖的信息。