ansible 节点上的 2 个用户如何连接到同一个工作节点

ansible 节点上的 2 个用户如何连接到同一个工作节点

我设置了 2 个新用户及其各自的密钥对,他们的公钥已在远程主机上建立。我遇到的问题是,我按如下方式在主机文件上传递了 ssh 密钥

[远程主机:变量] ansible_ssh_private_key_file=~/.ssh/user1.private_key ansible_ssh_private_key_file=~/.ssh/user2.private_key

问题是只有一个用户可以建立 ansible 连接。即使两个用户都可以通过 ssh 进入远程主机。

我确信有一种方法可以让两个用户访问主机文件中的同一节点

答案1

当运行 Ansible 的节点上的用户不同时,您可能会从文件的基本名称中删除用户名: ~/.ssh/remotehost.private_key 路径传递给 ssh,并~解析为他们的个人主目录。

当同一个本地用户需要连接到多个不同的远程用户时,可以在清单中创建具有不同连接变量。 ini 格式:

[remotehost]
remotehostuser1 ansible_user=user1 ansible_ssh_private_key_file=~/.ssh/user1.private_key
remotehostuser2 ansible_user=user2 ansible_ssh_private_key_file=~/.ssh/user2.private_key


[remotehost:vars]
ansible_host=remotehost

还有更多方法可以实现这一点。利用环境变量提供 private_key_file 的方式,${ANSIBLE_PRIVATE_KEY_FILE}或者使用 ssh_config。

相关内容