佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > 用expect實現(xiàn)ssh自動登錄服務器并進行批量管理的實現(xiàn)方法

用expect實現(xiàn)ssh自動登錄服務器并進行批量管理的實現(xiàn)方法

熱門標簽:百度競價排名 網(wǎng)站排名優(yōu)化 鐵路電話系統(tǒng) AI電銷 服務外包 呼叫中心市場需求 地方門戶網(wǎng)站 Linux服務器

shell代碼:

復制代碼 代碼如下:

#!/usr/local/bin/expect
set PASSWD [lindex $argv 1]
set IP     [lindex $argv 0]
set CMD [lindex $argv 2]
spawn ssh $IP $CMD
expect "(yes/no)?" {
send "yesr"
expect "password:"
send "$PASSWDr"
} "password:" {send "$PASSWDr"} "*host " {exit 1}
expect eof

注解:

第一行,制定使用/usr/local/bin目錄下的expect命令對后面的程序進行解釋。
第二行,三行,四行,分別從命令行參數(shù)中獲取要登錄的主機IP地址,登陸密碼,以及要執(zhí)行的命令。
第五行,大概就是要觸發(fā)這樣一個事件,執(zhí)行ssh $IP $CMD命令。
第6行至第11行就是expect的整個交互過程了。
如果讀取到(yes/no)?提示符,就輸入yes并回車,如果讀取到password:提示輸入密碼的字符串,就輸入用戶登錄密碼(root用戶)。
當然如果不是第一次登陸,以前已經(jīng)登錄過的話,當輸入ssh $IP $CMD回車后,會直接提示輸入密碼也就是說會讀到字符串”* password:”,這個時候會輸入密碼回車(send "$PASSWDr").
另外,如果主機不可達的話,(yes/no)?和”password:”的可能都不會出現(xiàn),系統(tǒng)會提示:
“No route to host”退出程序。

您可能感興趣的文章:
  • ssh expect自動登錄的腳本代碼
  • 用expect實現(xiàn)的自動登錄到多臺服務器的shell腳本
  • Linux中使用expect腳本實現(xiàn)遠程機器自動登錄
  • shell腳本通過expect實現(xiàn)自動單邊無密登錄功能
  • Linux expect實現(xiàn)自動登錄腳本實例代碼

標簽:銅川 黃山 湖南 衡水 湘潭 蘭州 崇左 仙桃

巨人網(wǎng)絡通訊聲明:本文標題《用expect實現(xiàn)ssh自動登錄服務器并進行批量管理的實現(xiàn)方法》,本文關鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權(quán)與本站無關。
  • 相關文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    威宁| 南京市| 凤阳县| 兰州市| 芮城县| 琼结县| 平塘县| 龙陵县| 灵山县| 保定市| 曲靖市| 东兰县| 海盐县| 香格里拉县| 白玉县| 南丰县| 安化县| 堆龙德庆县| 泰和县| 大邑县| 伊宁市| 托克逊县| 太谷县| 蒙山县| 施秉县| 甘洛县| 安阳市| 渝北区| 化州市| 京山县| 凤山县| 石狮市| 崇文区| 万山特区| 南平市| 湘西| 稻城县| 台南市| 东乌珠穆沁旗| 宝清县| 阿坝县|