91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

圖文教程自動登錄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

盐源县| 荥阳市| 红河县| 敦煌市| 新竹县| 绥阳县| 遂溪县| 宁国市| 琼结县| 铁力市| 吉首市| 富蕴县| 斗六市| 涞源县| 沂水县| 遂平县| 龙川县| 临武县| 文山县| 金堂县| 平阴县| 安阳市| 海伦市| 晋中市| 南涧| 陇川县| 麻城市| 嘉祥县| 徐州市| 阿拉善左旗| 关岭| 谷城县| 巴马| 柳林县| 易门县| 启东市| 昌乐县| 乌兰县| 蚌埠市| 上林县| 廉江市|