I have written a simple expect script to tell me if a passwordless connection is set up.
#!/usr/bin/expect -f
if {[llength $argv] < 2} {
puts "usage: test-nopass user server"
exit 1
}
set user [lindex $argv 0]
set server [lindex $argv 1]
set pwd_prompt "*assword:"
set prompt "*$ "
set rc 0
log_user 0
spawn ssh $user@$server
expect {
"$pwd_prompt" { exit 1 }
eof { exit 2 }
timeout { exit 3 }
"$prompt" {
send "hostname\r"
expect {
"*$server*" { exit 0 }
eof { exit 4 }
timeout { exit 5 }
}
}
}
log_user 1
exit $rc
```