我创建了一个动态清单,它获取创建的 lxd 容器(这样我就不必每次都输入容器的名称),所以这是动态清单
plugin: community.general.lxd
url: unix:/var/snap/lxd/common/lxd/unix.socket
state: RUNNING
这是库存的输出
ansible-inventory -i lxd.yaml --graph
@all:
|--@ungrouped:
| |--nginx-1
我运行了 ansible -i lxd.yaml -m ping all 并得到了这个输出
nginx-1 | UNREACHABLE! => {
"changed": false,
"msg": "Failed to connect to the host via ssh: root@container-ip: Permission denied (publickey).",
"unreachable": true
}
和 ansible.cfg
[defaults]
ansible_user = ansible
ansible_become = yes
ansible_lxd_remote = local
ansible_ssh_private_key_file = /home/zakaria/.ssh/id_rsa
问题是 ansible 使用 root 用户 ssh 进入容器,但我希望它使用 ansible 用户,那么如何强制 ansible 使用 ansible 用户