Ansible: remote_user gets ignored



My Ansible playbook失败,$USER和$HOME在远程服务器上设置不正确。

我在远程服务器上有一个名为lala的用户。

大多数任务都是以root用户身份直接通过ssh:执行的

[all:vars]
ansible_user = root

但此任务应通过ssh:以用户lala的身份执行

- name: migrate
command: /home/lala/bin/manage.py migrate
remote_user: lala

这失败了。远程进程的uid来自lala,但像$HOME$USER这样的环境变量仍然来自用户root

我想通过ssh直接连接到用户lala

如果我使用-vvvv:,我可以清楚地看到这一点

<coffee-and-sugar.club> SSH: EXEC ssh -vvv ... -o 'User="root"' ...

如何通过ssh lala@remote-server实现可靠连接?

我找到了一个解决方案。我不使用remote_user,而是为任务设置变量ansible_user,如下所示:

- name: migrate
command: /home/lala/bin/manage.py migrate
vars:
ansible_user: lala

最新更新