Supponendo che tu non stia inviando di proposito una password errata, usa exp_continue
come costrutto ciclico:
expect <<EOF
set passwds {foo bar baz}
set i 0
spawn ssh -t [email protected]$server_address "$*"
expect {
"continue connecting (yes/no)?" { send "yes\r"; exp_continue }
" password: " { send "[lindex $passwds $i]\r"; incr i; exp_continue }
eof
}
EOF