亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

圖文教程自動登錄expect腳本實例

發布時間:2020-07-21 01:09:19 來源:網絡 閱讀:421 作者:lizheng103 欄目:網絡安全

簡介:

1.expect的講解

2.實例操作自動登錄腳本


expect講解


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


Expect中最關鍵的四個命令是send,expect,spawn,interact。

send:用于向進程發送字符串
expect:從進程接收字符串
spawn:啟動新的進程
interact:允許用戶交互


1. send命令


send命令接收一個字符串參數,并將該參數發送到進程。


expect1.1> send "hello world\n"hello world


2. expect命令


expect命令和send命令正好相反,expect通常是用來等待一個進程的反饋。expect可以接收一個字符串參數,也可以接收正則表達式參數。


expect "hi\n"send "hello there!\n"


這兩行代碼的意思是:從標準輸入中等到hi和換行鍵后,向標準輸出輸出hello there



3. spawn命令


上文的所有demo都是和標準輸入輸出進行交互,但是我們跟希望他可以和某一個進程進行交互。spawm命令就是用來啟動新的進程的。


set timeout -1spawn ftp ftp.test.com      //打開新的進程,該進程用戶連接遠程ftp服務器

expect "Name"             //進程返回Name時

send "user\r"        //向進程輸入

anonymous\rexpect "Password:"        //進程返回Password:時

send "123456\r"    //向進程輸入don@libes.com\r

expect "ftp> "            //進程返回ftp>時

send "binary\r"           //向進程輸入binary\r

expect "ftp> "            //進程返回ftp>時

send "get test.tar.gz\r"  //向進程輸入get test.tar.gz\r



4.interact

到現在為止,我們已經可以結合spawn、expect、send自動化的完成很多任務了。但是,如何讓人在適當的時候干預這個過程了。比如下載完ftp文件時,仍然可以停留在ftp命令行狀態,以便手動的執行后續命令。interact可以達到這些目的。下面的demo在自動登錄ftp后,允許用戶交互。

spawn ftp ftp.test.com

expect "Name"

send "user\r"

expect "Password:"

send "123456\r"

interact





2臺主機


服務端:back :192.168.19.134

客戶端:other:192.168.19.135





服務端操作


1.使用expect之前,需要先安裝expect:


yum install -y expect 


安裝ssh


yum install openssh-server -y 


yum -y install openssh-clients

2.新建一個自動登錄腳本文件



格式:


       spawn ssh -l username 192.168.1.1


expect{

      "(yes/no)?" { send "yes"; exp_continue}

      "password:" {send "AAAA"}

         }

 interact




vim login.expect

#! /usr/bin/expect

#about login

#written by lizheng

set host "192.168.19.135"

set passwd "lizheng123"

spawn ssh  root@$host

expect {

    "yes/no" { send "yes\r"; exp_continue}

    "password:" { send "$passwd\r" }

   }

interact


圖文教程自動登錄expect腳本實例

圖文教程自動登錄expect腳本實例



3.更改權限


chmod +x login.expect


圖文教程自動登錄expect腳本實例圖文教程自動登錄expect腳本實例


4.執行腳本語句


./login.expect


輸入客戶機的密碼即可登錄


圖文教程自動登錄expect腳本實例圖文教程自動登錄expect腳本實例


5.退出


logout


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

周宁县| 平果县| 五寨县| 林西县| 桂林市| 云霄县| 桦甸市| 广水市| 德化县| 渝北区| 白城市| 客服| 祥云县| 保亭| 大埔区| 建瓯市| 广宗县| 开封市| 临泉县| 黔南| 翁源县| 南岸区| 常州市| 英德市| 曲水县| 紫金县| 泗阳县| 石渠县| 白玉县| 本溪市| 尚义县| 美姑县| 义乌市| 正安县| 胶州市| 阿合奇县| 南靖县| 台湾省| 郑州市| 陆良县| 海淀区|