gpt4 book ai didi

root - Ansible - 提供多个 ansible_become_pass=MYROOTPASSWORD

转载 作者:行者123 更新时间:2023-12-04 16:48:01 28 4
gpt4 key购买 nike

我有 4 个虚拟机,它们都有不同的 ssh 用户。

为了使用 Ansible 来操作虚拟机,我将文件 /etc/ansible/hosts 设置为:

someserver1 ansible_ssh_host=123.123.123.121 ansible_ssh_port=222 ansible_ssh_user=someuser1 ansible_ssh_pass=somepass1
someserver2 ansible_ssh_host=123.123.123.122 ansible_ssh_port=22 ansible_ssh_user=someuser2 ansible_ssh_pass=somepass2
someserver3 ansible_ssh_host=123.123.123.123 ansible_ssh_port=222 ansible_ssh_user=someuser3 ansible_ssh_pass=somepass3
someserver4 ansible_ssh_host=123.123.123.124 ansible_ssh_port=222 ansible_ssh_user=someuser4 ansible_ssh_pass=somepass4

假设我有这个剧本,它只在 /root 文件夹中执行 ls:

- name: root access test
hosts: all
tasks:
- name: ls the root folder on my Vms
become: yes
become_user: root
become_method: su
command: chdir=/root ls -all

使用此调用 ansible-playbook -v my-playbook.yml --extra-vars='ansible_become_pass=xxx-my-secret-root-password-for-someserver1' 我可以成为 root在我的一台机器上,但不是在所有机器上。

如何提供 somepass2somepass3somepass4

最佳答案

为什么不像您已经对 SSH 密码所做的那样,将 ansible_become_pass 定义为 list 中的内联主机变量?所以你的库存现在看起来像这样:

someserver1 ansible_ssh_host=123.123.123.121 ansible_ssh_port=222 ansible_ssh_user=someuser1 ansible_ssh_pass=somepass1 ansible_become_pass=somesudopass1
someserver2 ansible_ssh_host=123.123.123.122 ansible_ssh_port=22 ansible_ssh_user=someuser2 ansible_ssh_pass=somepass2 ansible_become_pass=somesudopass2
someserver3 ansible_ssh_host=123.123.123.123 ansible_ssh_port=222 ansible_ssh_user=someuser3 ansible_ssh_pass=somepass3 ansible_become_pass=somesudopass3
someserver4 ansible_ssh_host=123.123.123.124 ansible_ssh_port=222 ansible_ssh_user=someuser4 ansible_ssh_pass=somepass4 ansible_become_pass=somesudopass4

或者,如果您的登录密码和 sudo 密码相同,则只需添加:

ansible_become_pass='{{ ansible_ssh_pass }}'

all group_vars 文件或 inventory 文件中的内联组 vars block ,如下所示:

[all:vars]
ansible_become_pass='{{ ansible_ssh_pass }}'

关于root - Ansible - 提供多个 ansible_become_pass=MYROOTPASSWORD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35716983/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com