#!/bin/bash
## 用法: auto_ssh username psd 10.71.162.232 "ls" 22
# $1 用户名和IP
# $2 密码
# $3 IP
# $4 执行的shell命令
# $5 port
user=$1
user_pwd=$2
IP=$3
cmd=$4
if [ "$IP" == "" ];then
echo [error] ip is empty
exit -1
fi
port=$5
if [ "$port" == "" ];then
port=22
fi
#ssh-keygen -f ~/.ssh/known_hosts -R $IP
echo ssh -p $port -t $user@$IP "$cmd"
expect<<- END
spawn ssh -p $port -t $user@$IP "$cmd"
set timeout -1
expect {
"continue" {
send "yes\n"
expect "*assword:" { send "$user_pwd\n"}
}
"assword" {
send "$user_pwd\n"
}
}
#expect $cmdheader
#send "exit\n"
expect eof
catch wait result
exit [lindex \$result 3]
END
ret=$?
exit $ret