在iterm中用expect指令碼實現ssh, telnet對aix, linux的自動登入
阿新 • • 發佈:2019-02-11
在mac上轉戰iterm以後,才知道自動登入的內部原理,原來可以用expect指令碼做和伺服器的自動互動,當然自動登入只是其中的一小部分功能啦
ssh自動登入:
#!/usr/bin/expect
set timeout 30
spawn ssh [lindex $argv 0]@[lindex $argv 1]
expect {
"(yes/no)?"
{send "yes\n";exp_continue}
"password:"
{send "[lindex $argv 2]\n"}
}
interact
telnet自動登入(適合有些Linux平臺,會發送預設使用者的情況):
#!/usr/bin/expect
set timeout 30
spawn telnet -l [lindex $argv 0] [lindex $argv 1]
expect {
"assword:"
{send "[lindex $argv 2]\n"}
}
interact
telnet自動登入(適合先發送使用者名稱,再發送密碼的情況):
#!/usr/bin/expect set timeout 20 set name [lindex $argv 1] set user [lindex $argv 0] set password [lindex $argv 2] spawn telnet $name expect "login:" send "$user\r" expect "Password:" send "$password\r" interact
用法都是一樣,就是 [指令碼名 使用者名稱 服務名 密碼],例如[~/shell/login_telnet.exp hbocskf 10.45.44.169 hbocskf]
在item的profiles中,設定在General -> Command即可
後續只需要command+o撥出profiles介面,雙擊就能自動登入了,比自帶的終端不知道高到哪裡去了