Ansible 仍然要求使用无密码用户 sudo

问题描述 投票:0回答:1

我刚刚开始学习 ansible ,我配置了一个简单的剧本,其中使用无密码远程用户(称为 ansible)运行 apt install 命令,并添加了变为:true,如下面的代码所示。

---

- name: managig the ubuntu servers
  hosts: ubuntu_servers
  remote_user: ansible
  become: true
  become_method: sudo
  become_user: root
  tasks:
    - name: Installing a pcakage on ubuntu servers
      apt:
        name: traceroute
        state: present
        update_cache: true

我确信用户 ansible 已配置为无密码 sudoer ,因为我直接在服务器上测试了它,但我总是收到此错误


致命:[服务器2]:失败! => {"msg": "缺少 sudo 密码"}


致命:[server3]:失败! => {"msg": "缺少 sudo 密码"}

ansible passwords sudo
1个回答
0
投票

我认为问题来自于

remote_user
。您在主机上下文中指定了
remote_user
,但似乎不起作用。我做了一些小测试:

库存文件中的默认组

<server name> ansible_host=<host ip> ansible_user=jenkins ansible_ssh_common_args='-o StrictHostKeyChecking=no'

我的剧本

---
- name: test
  hosts: default
  remote_user: wvcuser
  tasks:
    - name: whoami
      shell: whoami
      register: output

    - debug:
        var: output.stdout

输出:

...
ok: [devserver1] => {
    "output.stdout": "jenkins"
}
...

一种策略性的方法是使用 ansible_user。

© www.soinside.com 2019 - 2024. All rights reserved.