【发布时间】:2018-09-18 09:23:19
【问题描述】:
我正在编写 Ansible playbook,以在具有特定用户的多个主机上创建基于密钥的 ssh 访问。 我有以下服务器:
automation_host
大师
从站1
Slave2
从自动化主机我将触发 Ansible 运行 playbook,首先应该使用 user1 登录到 master,然后切换到 user2,使用 user2 创建 ssh 密钥并将 id_rsa.pub 复制到从节点。
库存文件内容:
[master]
172.xxx.xxx.xxx
[slaves]
172.xxx.xxx.xxx
172.xxx.xxx.xxx
[all:vars]
ansible_connection=ssh
ansible_ssh_user=user1
playbook.yml 文件:
- hosts: master
become_user: user2
become: yes
roles:
- name: passwordless-ssh
User2 在所有主机上都可用(automation_host 除外),并且也添加到 sudoers 中。
在 passwordless-ssh 角色中,我添加了以下行来检查当前正在执行任务的用户。
- name: get the username running the deploy
local_action: command whoami
register: username_on_the_host
- debug: var=username_on_the_host
调试消息显示 user1(我希望它是 user2) ansible 版本:2.5.2
我对 Ansible 很陌生。
【问题讨论】:
标签: ansible ansible-2.x