Ansible推送ssh秘钥
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ansible推送ssh秘钥相关的知识,希望对你有一定的参考价值。
一、系统环境和安装软件版本 1),系统安装 [[email protected] ~]# cat /etc/issue CentOS release 6.5 (Final) [[email protected] ~]# uname -r 2.6.32-431.el6.x86_64 2)4台主机Ansible(192.168.0.22)另外3台主机IP分别是(192.168.0.24,192.168.0.156和192.168.0.157) 3)安装YUM源 [[email protected] ~]# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm [[email protected] ~]# yum install ansible -y [[email protected] ~]# ansible --version ansible 2.4.2.0 config file = /etc/ansible/ansible.cfg configured module search path = [u‘/root/.ansible/plugins/modules‘, u‘/usr/share/ansible/plugins/modules‘] ansible python module location = /usr/lib/python2.6/site-packages/ansible executable location = /usr/bin/ansible python version = 2.6.6 (r266:84292, Aug 18 2016, 15:13:37) [GCC 4.4.7 20120313 (Red Hat 4.4.7-17)] 二、在Ansible主机上配置 1)在推送主机上做ssh秘钥 [[email protected] .ssh]# ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: a3:08:ab:02:bf:7b:12:7d:d9:8f:9c:a9:67:38:53:a1 [email protected] The key‘s randomart image is: +--[ RSA 2048]----+ |
|
---|---|
. | |
.. +S. | |
. .o..E.o. | |
.......+ = | |
..o . + B . | |
o o= .* |
+-----------------+
2)查看生成的秘钥。
[[email protected] .ssh]# ls -a
. .. id_rsa id_rsa.pub
3)在Ansible上配置hosts
[[email protected] ansible]#vim hosts
在内容最后加上如下内容:
[test]
192.168.0.24 ansible_user=root ansible_ssh_pass="hwg123"
192.168.0.156 ansible_user=root ansible_ssh_pass="hwg123"
192.168.0.157 ansible_user=root ansible_ssh_pass="hwg123"
4)接着创建push.ssh.ymal脚本
[[email protected] ansible]# cat push.ssh.ymal
#Using alternate directory locations:
- hosts: test
user: root
tasks:- name: ssh-copy
authorized_key:
user=root
key="{{ lookup(‘file‘ ,‘/root/.ssh/id_rsa.pub‘) }}"
tags:- sshkey
5)需要修改ansible.cfg的#host_key_checking= False取消注释
[[email protected] ansible]# vim ansible.cfg
host_key_checking = False
三、最后运行push.ssh.ymal
[[email protected] ansible]# ansible-playbook push.ssh.ymal
- sshkey
- name: ssh-copy
PLAY [test] ****
TASK [Gathering Facts] *****
ok: [192.168.0.24]
ok: [192.168.0.157]
ok: [192.168.0.156]
TASK [ssh-copy] ****
changed: [192.168.0.157]
changed: [192.168.0.156]
changed: [192.168.0.24]
PLAY RECAP *****
192.168.0.156 : ok=2 changed=1 unreachable=0 failed=0
192.168.0.157 : ok=2 changed=1 unreachable=0 failed=0
192.168.0.24 : ok=2 changed=1 unreachable=0 failed=0
好了,Ansible主机端使用ssh [email protected] 看看需要密码不,不需要证明配置正确。
以上是关于Ansible推送ssh秘钥的主要内容,如果未能解决你的问题,请参考以下文章