成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

Shell批量SSH免交互登錄認(rèn)證-創(chuàng)新互聯(lián)

腳本實(shí)現(xiàn)功能:批量或單個(gè)SSH免交互登錄認(rèn)證

創(chuàng)新互聯(lián)公司專(zhuān)業(yè)為企業(yè)提供三沙網(wǎng)站建設(shè)、三沙做網(wǎng)站、三沙網(wǎng)站設(shè)計(jì)、三沙網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、三沙企業(yè)網(wǎng)站模板建站服務(wù),10余年三沙做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

腳本應(yīng)用場(chǎng)景:當(dāng)部署集群時(shí),大多數(shù)實(shí)現(xiàn)要配置好管理節(jié)點(diǎn)與從節(jié)點(diǎn)的SSH免交互登錄,針對(duì)這樣的情況,寫(xiě)了下面腳本,簡(jiǎn)化工作。

腳本支持系統(tǒng):Ubuntu和CentOS

#!/bin/bash # Description: configuration local host and remote host ssh keypair authentication, Support Ubuntu and CentOS operation system. # Blog: http://lizhenliang.blog.51cto.com   function color_echo() {     if [ $1 == "green" ]; then         echo -e "\033[32;40m$2\033[0m"     elif [ $1 == "red" ]; then         echo -e "\033[31;40m$2\033[0m"     fi } function os_version() {     local OS_V=$(cat /etc/issue |awk 'NR==1{print $1}')     if [ $OS_V == "\S" -o $OS_V == "CentOS" ]; then         echo "CentOS"     elif [ $OS_V == "Ubuntu" ]; then         echo "Ubuntu"     fi } function check_ssh_auth() {     if $(grep "Permission denied" $EXP_TMP_FILE >/dev/null); then         color_echo red "Host $IP SSH authentication failure! Login password error."         exit 1     elif $(ssh $INFO 'echo yes >/dev/null'); then         color_echo green "Host $IP SSH authentication successfully."     fi     rm $EXP_TMP_FILE >/dev/null } function check_pkg() {     local PKG_NAME=$1     if [ $(os_version) == "CentOS" ]; then         if ! $(rpm -ql $PKG_NAME >/dev/null 2>&1); then             echo no         else             echo yes         fi     elif [ $(os_version) == "Ubuntu" ]; then         if ! $(dpkg -l $PKG_NAME >/dev/null 2>&1); then             echo no         else             echo yes         fi     fi } function install_pkg() {     local PKG_NAME=$1     if [ $(os_version) == "CentOS" ]; then         if [ $(check_pkg $PKG_NAME) == "no" ]; then             yum install $PKG_NAME -y             if [ $(check_pkg $PKG_NAME) == "no" ]; then                 color_echo green "The $PKG_NAME installation failure! Try to install again."                 yum makecache                 yum install $PKG_NAME -y                 [ $(check_pkg $PKG_NAME) == "no" ] && color_echo red "The $PKG_NAME installation failure!" && exit 1             fi         fi     elif [ $(os_version) == "Ubuntu" ]; then         if [ $(check_pkg $PKG_NAME) == "no" ]; then             apt-get install $PKG_NAME -y             if [ $(check_pkg $PKG_NAME) == "no" ]; then                 color_echo green "$PKG_NAME installation failure! Try to install again."                 apt-get autoremove && apt-get update                 apt-get install $PKG_NAME --force-yes -y                 [ $(check_pkg $PKG_NAME) == "no" ] && color_echo red "The $PKG_NAME installation failure!" && exit 1             fi         fi     fi } function generate_keypair() {     if [ ! -e ~/.ssh/id_rsa.pub ]; then         color_echo green "The public/private rsa key pair not exist, start Generating..."         expect -c "             spawn ssh-keygen             expect {                 \"ssh/id_rsa):\" {send \"\r\";exp_continue}                 \"passphrase):\" {send \"\r\";exp_continue}                 \"again:\" {send \"\r\";exp_continue}             }         " >/dev/null 2>&1         if [ -e ~/.ssh/id_rsa.pub ]; then             color_echo green "Generating public/private rsa key pair successfully."         else             color_echo red "Generating public/private rsa key pair failure!"             exit 1         fi     fi } EXP_TMP_FILE=/tmp/expect_ssh.tmp if [[ $1 =~ ^[a-z]+@[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}@.* ]]; then     install_pkg expect ; generate_keypair     for i in $@; do         USER=$(echo $i|cut -d@ -f1)         IP=$(echo $i|cut -d@ -f2)         PASS=$(echo $i|cut -d@ -f3)         INFO=$USER@$IP         expect -c "             spawn ssh-copy-id $INFO             expect {                 \"(yes/no)?\" {send \"yes\r\";exp_continue}                 \"password:\" {send \"$PASS\r\";exp_continue}             }         " > $EXP_TMP_FILE  # if login failed, login error info append temp file         check_ssh_auth     done elif [[ $1 =~ ^[a-z]+@[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}-[0-9]{1,3}@.* ]]; then     install_pkg expect ; generate_keypair     START_IP_NUM=$(echo $1|sed -r 's/.*\.(.*)-(.*)@.*/\1/')     END_IP_NUM=$(echo $1|sed -r 's/.*\.(.*)-(.*)@.*/\2/')     for ((i=$START_IP_NUM;i<=$END_IP_NUM;i++)); do         USER=$(echo $1|cut -d@ -f1)         PASS=$(echo $1|cut -d@ -f3)         IP_RANGE=$(echo $1|sed -r 's/.*@(.*\.).*/\1/')         IP=$IP_RANGE$i         INFO=$USER@$IP_RANGE$i         expect -c "             spawn ssh-copy-id $INFO             expect {                 \"(yes/no)?\" {send \"yes\r\";exp_continue}                 \"password:\" {send \"$PASS\r\";exp_continue}             }         " > $EXP_TMP_FILE         check_ssh_auth     done else     echo "Example1: $0 <root@192.168.1.10-15@password>"     echo "Example2: $0 <root@192.168.1.10@password>"     echo "Example3: $0 [root@192.168.1.10@password root@192.168.1.11@password root@192.168.1.12@password ...]" fi

Shell批量SSH免交互登錄認(rèn)證

Shell批量SSH免交互登錄認(rèn)證

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

當(dāng)前名稱:Shell批量SSH免交互登錄認(rèn)證-創(chuàng)新互聯(lián)
文章源于:http://jinyejixie.com/article48/dediep.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開(kāi)發(fā)電子商務(wù)、虛擬主機(jī)、自適應(yīng)網(wǎng)站、軟件開(kāi)發(fā)動(dòng)態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)
宁南县| 碌曲县| 喀什市| 盐边县| 鞍山市| 那坡县| 长沙县| 龙岩市| 大同市| 盐池县| 玉树县| 吉木萨尔县| 调兵山市| 乌苏市| 盐源县| 东乌珠穆沁旗| 高淳县| 宜川县| 嘉善县| 双桥区| 土默特左旗| 延川县| 敖汉旗| 抚顺市| 深圳市| 江安县| 那曲县| 昌都县| 平利县| 新闻| 太仆寺旗| 新邵县| 武宁县| 阳朔县| 临湘市| 鸡东县| 镇原县| 揭西县| 法库县| 宣汉县| 金坛市|