亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

 更新時間:2018年03月22日 10:27:25   作者:leeon  
expect是一個基于Tcl的用于自動交互操作的工具語言,它適合用來編寫需要交互的自動化腳本,比如上面提到的SSH輸入用戶名密碼,自動FTP等等場景。下面這篇文章主要給大家介紹了關于Linux expect實現(xiàn)自動登錄腳本的相關資料,需要的朋友可以參考下。

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/expect
spawn ssh xxx@xxxxxx
expect "*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等功能等~

總結

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

相關文章

  • Linux調(diào)整命令歷史方法詳解

    Linux調(diào)整命令歷史方法詳解

    這篇文章主要介紹了Linux調(diào)整命令歷史方法詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-09-09
  • 淺談Linux下通過find命令進行rm文件刪除的小技巧

    淺談Linux下通過find命令進行rm文件刪除的小技巧

    下面小編就為大家?guī)硪黄獪\談Linux下通過find命令進行rm文件刪除的小技巧。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-12-12
  • 基于centos7 安裝python3.6.4出錯的解決方法

    基于centos7 安裝python3.6.4出錯的解決方法

    下面小編就為大家分享一篇基于centos7 安裝python3.6.4出錯的解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01
  • 教大家?guī)追N在Linux系統(tǒng)中查看時區(qū)的方法

    教大家?guī)追N在Linux系統(tǒng)中查看時區(qū)的方法

    Linux 包含多種可用的時間管理工具,比如 date 或 timedatectlcommands,你可以用它們來獲取當前系統(tǒng)時區(qū),也可以將系統(tǒng)時間與 NTP 服務器同步,來自動地、更精確地進行時間管理。下面通過這篇文章來一起看看在Linux系統(tǒng)中查看時區(qū)的幾種不同方法。
    2017-01-01
  • Ubuntu20.04開啟root賬戶的方法步驟

    Ubuntu20.04開啟root賬戶的方法步驟

    這篇文章主要介紹了Ubuntu20.04開啟root賬戶的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-07-07
  • 詳解Ubuntu20.04用Xshell通過SSH連接報錯的服務問題

    詳解Ubuntu20.04用Xshell通過SSH連接報錯的服務問題

    這篇文章主要介紹了詳解Ubuntu20.04用Xshell通過SSH連接報錯的服務問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-08-08
  • Win8.1 + CentOS7 雙系統(tǒng) U盤安裝(超詳細教程)

    Win8.1 + CentOS7 雙系統(tǒng) U盤安裝(超詳細教程)

    這篇文章主要介紹了Win8.1 + CentOS7 雙系統(tǒng) U盤安裝(超詳細教程),非常具有實用價值,需要的朋友可以參考下。
    2017-01-01
  • Linux查看和關閉后臺運行程序的方法

    Linux查看和關閉后臺運行程序的方法

    這篇文章主要介紹了Linux查看和關閉后臺運行程序的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-09-09
  • 詳解Linux系統(tǒng)如何防止TCP洪水攻擊

    詳解Linux系統(tǒng)如何防止TCP洪水攻擊

    本篇文章主要介紹了詳解Linux系統(tǒng)如何低于TCP洪水攻擊,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • Linux的netstat命令詳解

    Linux的netstat命令詳解

    這篇文章主要介紹了Linux的netstat命令,netstat命令用于顯示與IP、TCP、UDP和ICMP協(xié)議相關的統(tǒng)計數(shù)據(jù),它能提供TCP連接,TCP和UDP監(jiān)聽,進程內(nèi)存管理的相關報告。需要的朋友可以參考下面文章內(nèi)容
    2021-09-09

最新評論