[[Explain pertinence--typical situations (firewalling), ...]] [[Provide diagram, even.]] [[Explain configurations.]] This particular model first '''ssh'''-s to a machine which demands a passphrase, then '''ssh'''-s to a third host, where, after a demand for a password, it requests a directory listing of the home directory: '''ls'''. package require Expect set command ls set timeout -1 # That's silly; next time just "spawn ssh ..." directly. spawn $env(SHELL) match_max 100000 log_user 0 expect $prompt0 send -- "ssh $user1@$host1\r" expect -glob "Enter passphrase for key '*': " send -- $passphrase1\r expect $prompt1 send -- "ssh $user2@$host2 $command\r" expect "assword: " send -- $password2\r expect $prompt1 set presult $expect_out(buffer) send -- exit\r expect $prompt0 send -- exit\r expect eof # $presult deserves a little prettification--stripping off the last line, ... puts $presult ---- !!!!!! %| [Category Discussion] |% !!!!!!