expect經過堡壘機A:1.1.1.1 登錄B:2.2.2.2
將以下代碼保存到文件login.expbash
bash#!/usr/bin/expect -f if {$argc < 3} { puts stdout "$argv0 err params\n" exit 1 } proc do_console_login {login pass ip} { puts $login; puts $pass; puts $ip } # puts [llength $argv] set login loginname set login_pass 123456 set login_ip 1.1.1.1 set login_port 63008 set timeout 10 set user [lindex $argv 0] set password [lindex $argv 1] set ip [lindex $argv 2] do_console_login $user $password $ip # spawn ls -l # expect "login_52.exp" # expect eof #登錄堡壘機 spawn ssh $login@$login_ip -p $login_port expect { "*(yes/no) " {send "yes\n";exp_continue} "*assword:" {send "$login_pass\n"} } expect "]$ " send "ssh $user@$ip \n" expect { "(yes/no)" {send "yes\n";exp_continue} "*assword:" {send "$password\n"} } interact
運行以下命令:ssh
bash./login.exp user password 1.1.1.1