共计 1732 个字符,预计需要花费 5 分钟才能阅读完成。

此处记录下博主曾经配置密钥免密的方式
使用shell的方式
需要提前安装sshpass,需要通过密码配置
[jenkins@docker-node-03 test01.xadocker.cn]$ sudo yum install sshpass -y | |
[jenkins@docker-node-03 test01.xadocker.cn]$ cat >push_id_rsa_pub.sh<<EOF | |
#/bin/bash | |
for i in {64,65,66,67,68} | |
do | |
sshpass -p 'eishae[Reizi^ek1weir' ssh-copy-id xadocker@172.18.235.$i | |
done | |
EOF |
使用ansible的方式
准备公钥
[jenkins@docker-node-03 test01.xadocker.cn]$ ll | |
总用量 12 | |
-rw-rw-r-- 1 jenkins jenkins 106 10月 30 17:43 hosts | |
-rw-r--r-- 1 jenkins jenkins 400 11月 2 11:46 id_rsa.pub | |
-rw-rw-r-- 1 jenkins jenkins 387 11月 2 11:59 user.yaml | |
[jenkins@docker-node-03 test01.xadocker.cn]$ cat hosts | |
[web] | |
192.168.1.220 hostname='web-01' ansible_ssh_port='22' | |
[jenkins@docker-node-03 test01.xadocker.cn]$ cat id_rsa.pub | |
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAddQC7tagGvCfeBsToKbRREq6V33/rOwpt+7dTC1T2u29vqfiNjr5Ey5m5mtJQPA0EUNBJF4hTSdRrIFXIfmWUgFbmNMNHpv50hmmqY8j69GO9KGSSMnbYd5ejc8ARgwQW2F1kTU+e7LvgZaUPUksg8/+XvgJ2IN9j2c7s9e6nKU/LPO8RzGif/DGV7tsg4zUdLX/JzhwRDNGoKOSaHD0e+P4WSaxFKPo3Drdf4HES0hz7Ocd8PYcz5/BHIb9gBfrlQA1CckFUkUMhbnpYOCsjugzOLw2TS8Jf/61R1s0QeK+G32VwhDzyLZbHQXYRqyuc5EptvAaPxt9wpKzSYgnbObYt www@docker-node-03 |
编写playbook
将主控机www用户公钥复制到被控机www用户authorized_keys中
[jenkins@docker-node-03 test01.xadocker.cn]$ cat user.yaml | |
- hosts: all | |
remote_user: www | |
gather_facts: false | |
tasks: | |
- name: set authorized key files | |
authorized_key: | |
user: www | |
state: present | |
manage_dir: | |
key: "{{ lookup('file','/xadocker-data/jenkins-ansible/test01.xadocker.cn/id_rsa.pub') }}" |
将主控机的www用户公钥复制到被控机多个用户的authorized_keys中
[jenkins@docker-node-03 test01.xadocker.cn]$ cat user.yaml | |
- hosts: all | |
remote_user: root | |
gather_facts: false | |
vars: | |
users: | |
- test01 | |
- test02 | |
- test03 | |
tasks: | |
- name: set authorized key files | |
authorized_key: | |
user: "{{ item }}" | |
state: present | |
manage_dir: | |
key: "{{ lookup('file','/xadocker-data/jenkins-ansible/test01.xadocker.cn/id_rsa.pub') }}" | |
loop: "{{ users }}" |
正文完