利用shell的expect實現自動登入伺服器
阿新 • • 發佈:2019-01-04
前言:使用ssh登入內網伺服器,每次都要輸入以下命令,次數多了就感覺很麻煩。
[email protected]:~$ ssh [email protected]
[email protected]'s password:
現在,我們可以使用Expect實現複雜的互動過程。
Expect是一個用來處理互動的命令。
expect常用的四個命令:
-
spawn 啟動新的程序
-
expect 從程序接收字串
-
send 用於向程序傳送字串
- interact 允許使用者互動
使用expect
1、 安裝
[email protected] :~$ sudo apt-get install expect
2、獲取expect執行路徑
[email protected]:~$ which expect
/usr/bin/expect
3、編寫指令碼
[email protected]:~$ cd ~ [email protected]:~$ touch logindev [email protected]:~$ vim logindev #!/usr/bin/expect #啟動新程序 spawn ssh [email protected] #從程序接收字串 expect "*password:" #向程序傳送字串 send "yourpassword\r" #允許使用者互動 interact
儲存,並給賦予執行許可權
[email protected]:~$ chmod +x ./logindev
4、執行指令碼
[email protected]:~$./logindev