日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式動(dòng)態(tài)
[導(dǎo)讀]大家好,我是anyux。我將給大家介紹Linux多臺(tái)機(jī)器一鍵免密互信腳本。

大家好,我是anyux。我將給大家介紹Linux多臺(tái)機(jī)器一鍵免密互信腳本。

因?yàn)楹芏嗖僮鞴ぞ邩?gòu)架需要免密鑰互信的基礎(chǔ)才能實(shí)現(xiàn),比如hadoop,MHA等,本人十分懶惰,不想因?yàn)榉磸?fù)克隆機(jī)器后,再搞復(fù)制粘貼的操作。從昨天晚上11點(diǎn)還完成,氣得直接睡覺去了。

白天來公司,正巧無事(一會(huì)做完了),上手就開始完成這個(gè)腳本。

心急的同學(xué),可以直接替換head_ip(前綴ip),arr(后綴ip),passwd(密碼),以root權(quán)限直接運(yùn)行

這個(gè)版本是很基礎(chǔ)的小腳本,就跟鬧著玩一樣。

它的不足,

依賴第三工具,并且需要以root權(quán)限安裝,運(yùn)行ip限制,需要手動(dòng)修改同步密鑰的算法未優(yōu)化,感覺可以優(yōu)化,雖然還不知道優(yōu)化的空間有多少

再說說它的實(shí)現(xiàn)邏輯

這里的前提,是所有同步密鑰機(jī)器的密碼一致(不一致的要等待下一個(gè)版本更新吧)

隨機(jī)一臺(tái)機(jī)器登錄,生成密鑰對(duì),復(fù)制公鑰到其他主機(jī)認(rèn)證基于循環(huán),逐個(gè)遠(yuǎn)程登錄主機(jī),刪除密鑰對(duì),重新生密鑰對(duì)基于循環(huán),逐個(gè)遠(yuǎn)程登錄主機(jī),安裝遠(yuǎn)程工具sshpass,復(fù)制公鑰到其他機(jī)器,還有本地主機(jī)localhost檢測(cè)多主機(jī)免密通信情況#!/bin/bash#算法密鑰#分發(fā)給指定機(jī)器#ip_headerhead_ip='192.168.255.'#ip_footerarr=(113 114 115)#用戶家密鑰目錄base_dir=~/.ssh/#公鑰pub=id_rsa.pub#私鑰key=id_rsa#用戶名稱user=root#用戶密碼passwd=root#需要root權(quán)限安裝軟件install_cmd(){yum install -y pssh sshpass}create_key(){sleep 2#刪除本地初始密鑰對(duì)rm -rf ${base_dir}sleep 1echo -e "刪除完成\n"echo "開始分發(fā)"echo "\n"echo "++++++++++++++++++++"#本地主機(jī)生成密鑰\ssh-keygen -t rsa -f ${base_dir}${key} -P ""for ip in ${arr[@]}doecho "輸出ip**********"echo "ssh root@${head_ip}${ip} "tmp='ssh-keygen -t rsa -f ${base_dir}${key} -P ""'#本地主機(jī)公鑰復(fù)制到其他主機(jī)認(rèn)證文件sshpass -p${passwd} ssh-copy-id $user@${head_ip}${ip} -o StrictHostKeyChecking=no#遠(yuǎn)程主機(jī)連接,刪除已生成的密鑰,并重新生成密鑰sshpass -p${passwd} ssh $user@${head_ip}${ip} "rm -rf ${base_dir}${key};rm -rf ${base_dir}{pub}"#遠(yuǎn)程主機(jī)連接,生成密鑰sshpass -p${passwd} ssh $user@${head_ip}${ip} "ssh-keygen -t rsa -f ${base_dir}${key} -P ''"#遠(yuǎn)程主機(jī)連接,將公鑰復(fù)制到其他主機(jī)認(rèn)證文件for tmp_ip in ${arr[@]}do#安裝遠(yuǎn)程連接工具sshpass -p${passwd} ssh $user@${head_ip}${ip} "yum install -y sshpass;"#遠(yuǎn)程主機(jī),將公鑰同步到其他機(jī)器sshpass -p${passwd} ssh $user@${head_ip}${ip} "sshpass -p${passwd} ssh-copy-id $user@${head_ip}${tmp_ip} -o StrictHostKeyChecking=no"#遠(yuǎn)程主機(jī),將公鑰同步localhost主機(jī)名下sshpass -p${passwd} ssh $user@${head_ip}${ip} "sshpass -p${passwd} ssh-copy-id $user@localhost -o StrictHostKeyChecking=no"donedoneecho -e "分發(fā)完結(jié)\n"}check_ip(){for ip in ${arr[@]}dopssh -H ${head_ip}${ip} -i $1done}bat(){echo "輸出ok:";check_ip 'echo "ok"'echo "輸出ping結(jié)果:";check_ip 'ping qq.com -c 2'echo "獲取主機(jī)名:";check_ip 'ls ~/.ssh'echo "獲取主機(jī)名:";check_ip "source /etc/profile;ip a | grep inet | grep ${head_ip}"}main(){install_cmd;create_key;bat}main

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉