国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 服務(wù)器 > Web服務(wù)器 > 正文

Linux expect實現(xiàn)自動登錄腳本實例代碼

2024-09-01 13:54:16
字體:
供稿:網(wǎng)友

expect

expect可以讓我們實現(xiàn)自動登錄遠程機器,并且可以實現(xiàn)自動遠程執(zhí)行命令。當然若是使用不帶密碼的密鑰驗證同樣可以實現(xiàn)自動登錄和自動遠程執(zhí)行命令。但當不能使用密鑰驗證的時候,我們就沒有辦法了。所以,這時候只要知道對方機器的賬號和密碼就可以通過expect腳本實現(xiàn)登錄和遠程命令。

引言

目前在公司是一人一臺虛擬機,大多數(shù)工作都要在虛擬機上完成,為此每天要執(zhí)行很多次【ssh xxx@xxxxxx】指令登錄虛擬機;有很多方式解決這個問題,如使用xshell、secureCRT等工具記錄常用的連接,我就寫了一個簡單的腳本實現(xiàn)一鍵登錄~

login.sh腳本內(nèi)容如下:

#!/usr/bin/expectspawn ssh xxx@xxxxxxexpect "*password:"send "密碼/r"interact

再將【./login.sh】配置別名alias,或移動到可執(zhí)行目錄中,即可實現(xiàn)【login】一鍵登錄;

expect是一個處理交互的指令,通過expect我們可以把交互過程寫到Shell腳本里以實現(xiàn)一些自動化操作~

expect有四個核心的指令:

  • spawn:啟動新進程,后跟新進程要執(zhí)行的指令;
  • expect:指定要監(jiān)聽的字符串,如果spawn進程返回了匹配的字符串(如標準輸入的提示信息),則觸發(fā)send;
  • send:發(fā)送指定的字符串到spawn進程,代替標準輸入;
  • interact:用戶參與交互;

對于login.sh的執(zhí)行過程為:

【spawn】啟動一個新進程執(zhí)行ssh登錄指令,【expect】監(jiān)聽到標準輸入的提示信息『xxx@xxxxxx's password』符合匹配規(guī)則,觸發(fā)【send】發(fā)送密碼代替手動輸入,完成登錄,【interact】用戶參與交互,此時已登錄上了虛擬機;

使用expect還可以完成如:批量更新git代碼庫、自動登錄FTP等功能等~

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網(wǎng)的支持。


注:相關(guān)教程知識閱讀請移步到服務(wù)器教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 瓮安县| 灵寿县| 修水县| 房产| 台前县| 石泉县| 绥江县| 仪陇县| 谢通门县| 星子县| 清镇市| 晋城| 长丰县| 开远市| 白朗县| 镇巴县| 滨州市| 广州市| 东兰县| 雷山县| 云梦县| 临海市| 汪清县| 黄骅市| 绥德县| 尤溪县| 望城县| 长岭县| 同仁县| 平武县| 札达县| 哈尔滨市| 云阳县| 清徐县| 化德县| 上栗县| 昌宁县| 高平市| 合山市| 河北区| 随州市|