什么是 ssh 互信?說白了掠手,就是在目標(biāo)機(jī)器上憾朴,預(yù)先設(shè)置好經(jīng)過認(rèn)證的 key 文件,當(dāng)需要訪問目標(biāo)機(jī)器時(shí)喷鸽,目標(biāo)機(jī)器通過 key 文件众雷,對(duì)訪問者進(jìn)行自動(dòng)認(rèn)證,從而實(shí)現(xiàn)互信。
當(dāng)管理大量機(jī)器時(shí)砾省,使用 ssh-copy-id 方法一個(gè)個(gè)建立互信有些費(fèi)時(shí)鸡岗,那么使用 ansible 是否可以批量建立互信呢?
生成密鑰對(duì)
ssh-keygen -t rsa
一路回車即可编兄。
建立互信
格式: ssh-copy-id -i ~/.ssh/id_rsa.pub username@[ip,hostname]
ssh-copy-id -i ~/.ssh/id_rsa.pub username@192.168.1.2
根據(jù)提示完成操作即完成了互信轩性。
批量建立互信
機(jī)器多的情況下,使用 ssh-copy-id 方法有些費(fèi)時(shí)狠鸳,使用 ansible-playbook 推送 ymal揣苏,這里使用到了 authoried_keys
模塊,可以參考官方文檔:http://docs.ansible.com/authorized_key_module.html
建立如下 playbook:
---
- hosts: test
# 互信用戶
user: hoxis
tasks:
- name: ssh-copy
authorized_key: user=hoxis key="{{ lookup('file', '/home/hoxis/.ssh/id_rsa.pub') }}"
默認(rèn)件舵,已在 Ansible 資產(chǎn)文件中配置待互信機(jī)器信息卸察。
執(zhí)行:
# ansible-playbook pushssh.yaml
PLAY [test] *****************
TASK [Gathering Facts] ******
ok: [client]
TASK [ssh-copy] *************
changed: [client]
PLAY RECAP ******************
client : ok=2 changed=1 unreachable=0 failed=0
執(zhí)行完畢,若沒有報(bào)錯(cuò)铅祸,則證明互信建立成功坑质。
測(cè)試:執(zhí)行 ssh 登錄,若無需再輸入密碼个少,則證明互信建立成功洪乍!
活動(dòng)預(yù)告:最近幫大家爭(zhēng)取了【贈(zèng)書福利】眯杏,有興趣的掃描下發(fā)二維碼關(guān)注贈(zèng)書活動(dòng)信息~
如果覺得有用夜焦,歡迎關(guān)注我的微信,一起學(xué)習(xí)岂贩,共同進(jìn)步茫经,不定期推出贈(zèng)書活動(dòng)~
![你的關(guān)注是對(duì)我最大的鼓勵(lì)!](http://hoxis-image.oss-cn-hangzhou.aliyuncs.com/18-8-15/74882453.jpg)
最近搜集到慕課網(wǎng)視頻卸伞,視頻內(nèi)容涵蓋 Python、Java锉屈、PHP荤傲、前端、小程序颈渊、算法遂黍、架構(gòu)、數(shù)據(jù)庫等等俊嗽!關(guān)注本公眾號(hào)雾家,后臺(tái)回復(fù)「慕課網(wǎng)」即可獲取下載地址。