我正在尝试针对 AWS EC2 实例运行以下 ansible playbook。我需要按如下方式运行该脚本根用户才能访问 docker 引擎。我builders
在运行剧本之前动态填充了主机组。
- name: Create saronia/teamcity-server image
hosts: builders[0]
become: True
vars:
ansible_ssh_user: root
tasks:
...
然而,无论我如何尝试,都会出现以下错误:
Please login as the user \"admin\" rather than the user \"root\".
可以做的是:
ssh admin@{{ public_ip }}
- 'sudo -i'
docker info
但是,我需要的是能够运行 ansible 剧本:
ansible-playbook create_docker_image.yml
运行 ansible 脚本需要什么根用户与我的机器对抗?请有人告诉我 :)
答案1
以非特权用户身份连接并使用 become 更改为 root:
become: True
become_user: root
vars:
ansible_user: admin
Ansible >= 2.0 已从连接选项中弃用“ssh”。root 是默认的成为用户,但如果默认值发生更改,您可以指定它。