以 root 用户身份登录 EC2 实例

以 root 用户身份登录 EC2 实例

我正在尝试针对 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 是默认的成为用户,但如果默认值发生更改,您可以指定它。

相关内容