使用expect自動登入

2021-09-19 09:52:03 字數 666 閱讀 7971

expect是乙個會話程式,根據內容反饋來做出應答,python也有乙個相關庫pexpect。用它進行自動登入,不是用authorized_key,而是把使用者名稱密碼寫死在指令碼裡,來實現自動登入,畢竟總去上傳key也不現實。

我在這兒修改了下,優先接受命令行引數,如果沒有傳則使用預設值。把指令碼放到乙個地方,在~/.profiles裡加上一行alias mycommand='expect /yourpath',source之後就可以用mycommand執行指令碼了。友情提示,寫expect指令碼要用它自己的語法,而不是bash的。

#!/usr/bin/expect

set timeout 10

set user [lindex $ar** 0 ]

set passwd [lindex $ar** 1 ]

set jump_machine_id [lindex $ar** 2]

set addr 192.192.11.22

if

spawn ssh "$user@$addr"

expect

"server" \r"; }

}}interact

重要參考

使用 expect 自動登入

今天在玩linux,在root與普通使用者之間切換,老是要輸入密碼,然後突然有個想法,自己寫個shell指令碼執行自動切換此不是更方便,瞎搞了一下不行,然後google上搜一下,原來純shell做不了這個事,要用expect,以下安裝步驟 2 安裝tcl 進入tcl目錄 cd tcl 你會看到有乙個...

使用expect實現自動互動,自動登入指令碼

使用expect實現自動互動,自動登入指令碼 指令碼 如下 usr bin expect set timeout 30 spawn ssh l username 192.168.1.1 expect password send ispass r interact 1.usr bin expect 這...

expect實現自動登入指令碼

寫在前面 目前在公司是一人一台虛擬機器,大多數工作都要在虛擬機器上完成,為此每天要執行很多次 ssh 指令登入虛擬機器 有很多方式解決這個問題,如使用xshell securecrt等工具記錄常用的連線,我就寫了乙個簡單的指令碼實現一鍵登入 login.sh指令碼內容如下 usr bin expec...