关于ansible-playbook的remote_user设置

概括:

    1. 不推荐使用复制粘贴技术。

 

    1. Ansible寻找remote_user配置的顺序为:

 

    1. playbook(site.yml)

 

    1. -u选项

 

    1. 环境变量ANSIBLE_CONFIG

 

    1. ansible.cfg

 

    1. ~/.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身份运行。

bannerAds