在ansible中处理本地和远程用户的最佳实践是什么?
我目前的理解是,我们有一个本地和远程机器,在远程机器上有一个默认的本地用户和默认的管理用户。在标准情况下,joe将生成一个SSH密钥对,并将他的公钥复制到远程‘.SSH/authorised_ key’。
localhost remotehost
========= ==========
// sudo root user
user:joe user:admin
passsword:xxx password:admin123
.ssh/id_rsa.pub ----------------------------------> ./ssh/authorised_keys我是否正确地说,标准的ansible.cfg设置将是
[defaults]
ansible_user=joe
ansible_ssh_user=admin
private_key_file=/home/pauloconnell/.ssh/id_rsa.pem我偶然看到这张票证,它建议为运行远程命令https://stackoverflow.com/questions/29392369/ansible-ssh-private-key-in-source-control创建一个特定于ansible的用户
同样,这张图片看起来像这样,在本地机器上创建了一个新的“ansible_ssh_user”,它的密码保存到一个保险库,然后在远程服务器上使用正确的组权限创建相同的用户。
localhost remotehost
========= ==========
// sudo root user
user:joe user:admin
passsword:xxx password:admin123
~~.ssh/id_rsa.pub ----------------------------------> ./ssh/authorised_keys~~
user:ansible_ssh_user user:ansible_ssh_user
.ssh/id_rsa.pub ----------------------------------> ./ssh/authorised_keys在这种情况下,我想确认配置文件将如何更改吗?
[defaults]
ansible_user=ansible_ssh_user
ansible_ssh_user=ansible_ssh_user
private_key_file=??发布于 2016-01-25 08:02:18
是也不是。
ansible_ssh_user和ansible_user,因为从2.0版本开始就不再推荐使用ansible_ssh_*变量了。请参见这张便条:Ansible 2.0已经不再推荐ansible_ssh_user、ansible_ssh_host和ansible_ssh_port中的“ssh”成为ansible_user、ansible_host和ansible_port。如果您在使用2.0之前的Ansible版本,您应该继续使用旧的样式变量(ansible_ssh_*)。这些较短的变量在Ansible的旧版本中被忽略,没有警告。
private_key_file。ansible_user。您只需要确保控制机器上的常规用户可以以ansible_user身份在远程主机上登录,这意味着您需要将ssh键复制到远程主机。ssh-copy-id ansible_user@remote-host应该是你所需要的。https://serverfault.com/questions/751091
复制相似问题