首页 > 代码库 > ansible推送ssh公钥
ansible推送ssh公钥
ansible推送ssh公钥
1 管理机器少的情况下可以直接推送过去
使用 ssh-keygen -t rsa生成密钥对,
!miyaoQQ截图20141225124030.png!
id_rsa 私钥,保留在主机,id_rsa.pub是公钥需要推送到管理机器上,并重命名为authorized_keys文件
推送到远程机器 ssh-copy-id -i ~/.ssh/id_rsa.pub username@[ip,hostname]
2 机器多的情况下,使用ssh-copy-id方法有些费时,使用ansible-playbook推送ymal,这里使用到了authoried_keys模块,可以参考 http://docs.ansible.com/authorized_key_module.html
同时hosts中内容
!neirongQQ截图20141225125319.png!
<pre>
[root@master ~]# ansible-playbook /etc/ansible/rsync_key.ymal -f 10
</pre>
出现
<pre>
ERROR: authorized_key is not a legal parameter at this level in an Ansible Playbook
</pre>
可能是ymal语言格式问题,或者rsync_key.ymal问题,在排错········
修改rsync_key.ymal内容
1 # Using alternate directory locations:
2 - hosts: test89
3 user: root
4 tasks:
5 - name: ssh-copy
6 authorized_key: user=cuibo key="{{ lookup(‘file‘, ‘/root/.ssh/id_rsa.pub‘) }}"
7 tags:
8 - sshkey
最后,ssh公钥推送成功。
ansible推送ssh公钥