关于ansible-playbook的remote_user设置
概括:
-
- 不推荐使用复制粘贴技术。
-
- Ansible寻找remote_user配置的顺序为:
-
- playbook(site.yml)
-
- -u选项
-
- 环境变量ANSIBLE_CONFIG
-
- ansible.cfg
-
- ~/.ansible.cfg
- /etc/ansible/ansible.cfg
背景 – 背景为:
当我创建了playbook并将目标主机写入inventory文件后,我试着将playbook流程发送到远程服务器以执行。
fatal: [10.XXX.XXX.XXX]: UNREACHABLE! => {
"changed": false,
"msg": "Failed to connect to the host via ssh: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).\r\n",
"unreachable": true
}
被生气地责备。
ansible all -m ping -i hosts
10.XXX.XXX.XXX | SUCCESS => {
"changed": false,
"ping": "pong"
}
会是这样的方式才能确保成功。 (Huì shì de .)
ansible-playbook -i hosts -vvv -u hoge
就算仿照这样写,
把ansible.cfg放在当前目录,
写上remote_user=hoge,
或者把remote_user=hoge写在/etc/ansible/ansible.cfg里,
都没有生效。
我在想为什么,
原来是从某个地方复制粘贴过来的site.yml里写了remote_user=root,
所以理所当然会以root身份运行。