平時運維中有時會遇到需要更改服務(wù)器的管理員密碼,如果服務(wù)器比較多的時候,我們可以編寫一個腳本來實現(xiàn),省時省力。
成都創(chuàng)新互聯(lián)專注于游仙企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站設(shè)計,電子商務(wù)商城網(wǎng)站建設(shè)。游仙網(wǎng)站建設(shè)公司,為游仙等地區(qū)提供建站服務(wù)。全流程按需求定制制作,專業(yè)設(shè)計,全程項目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
linux使用SSH登陸時需 要手動輸入yes 來確認連接,所以首先要解決這個問題,讓腳本實現(xiàn)遠程執(zhí)行命令無須人工干預(yù)。
第一步 使用ssh-keygen創(chuàng)建本機的公鑰和私鑰
創(chuàng)建成功后會在/root/.ssh下生成私鑰和公鑰
第二步 使用ssh-copy-id復(fù)制公鑰到遠程主機及expect內(nèi)部命令編寫ssh自動登陸腳本
auto_ssh_copy_id () {
expect -c "set timeout -1;
spawn /usr/bin/ssh-copy-id -i /root/.ssh/id_rsa.pub root@$2;
expect {
*(yes/no)* {send -- yes\r;exp_continue;}
*password:* {send -- $1\r;exp_continue;}
eof{exit 0;}
}";
}
調(diào)用方法:auto_ssh_copy_id $pass1 $ipnet.$i
假設(shè)需要更改密碼的服務(wù)器IP 在172.18.0.1-172.18.0.100之間,腳本如下。
#!/bin/bash
#Program
#
#relase
#tryrus 20161029
ipnet=172.18.0 #改成實際的IP 段
declare i=1 #改成實際開始的IP
pass1=password1 #ssh遠程登陸root的密碼
pass2=password2 #要設(shè)定的新密碼
auto_ssh_copy_id () {
expect -c "set timeout -1;
spawn /usr/bin/ssh-copy-id -i /root/.ssh/id_rsa.pub root@$2;
expect {
*(yes/no)* {send -- yes\r;exp_continue;}
*password:* {send -- $1\r;exp_continue;}
eof{exit 0;}
}";
}
auto_ssh_change_psw() {
expect -c "set timeout -1;
spawn ssh root@$2 "passwd";
expect {
*New* {send -- $1\r;exp_continue;}
*Retype* {send -- $1\r;exp_continue;}
eof{exit 0;}
}";
}
while [[ "$i" -le "100" ]] #控制循環(huán),數(shù)值改成實際要使用的IP
do
ping "$ipnet.$i" -c 3 > /dev/null
if [ $? -eq 0 ];then
auto_ssh_copy_id $pass1 $ipnet.$i #運行一次后,這行就不需要了
auto_ssh_change_psw $pass2 $ipnet.$i
fi
let "i+=1"
done
第二次測試結(jié)果
謝謝你打開這篇博文,并一直堅持看到了這里,如果覺得對你有幫助,請不要吝嗇點一下右下角的贊。
當(dāng)前標題:Shell腳本:使用SSH登陸并更改密碼
新聞來源:http://chinadenli.net/article38/joidsp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計、營銷型網(wǎng)站建設(shè)、品牌網(wǎng)站制作、品牌網(wǎng)站建設(shè)、手機網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)