an expect script for ssh login

#!/usr/bin/expect -f
# This script needs three argument to(s) connect to remote server:
# user = Username of remote UNIX Server
# password = Password of remote UNIX server
# ipaddr = IP Addreess of remote UNIX server, no hostname
# For example:
# ./sshlogin.exp 192.168.1.11 user password sshargv
set user [lrange $argv 1 1]
set password [lrange $argv 2 2]
set ipaddr [lrange $argv 0 0]
set arg1 [lrange $argv 3 3]
set timeout -1
# now connect to remote UNIX box (ipaddr) with given script to execute
spawn ssh $arg1 $user@$ipaddr
match_max 100000
# Look for passwod prompt
expect "*?assword:*"
# Send password aka $password
send -- "$password\r"
# send blank line (\r) to make sure we get back to gui
send -- "\r"
expect eof

你可能感兴趣的:(Linux)