#!/bin/bash
###ssh机器
echo "*****************欢迎来到ssh跳转********************"
function ShowMenu () {
echo " **********************"
echo " * Operation Menu *"
echo " **********************"
echo " * 1. hadoop2 *"
echo " * 2. hadoop1 *"
echo " * 3. hadoop3 *"
echo " * 0. Quit *"
echo " **********************"
}
while true ;do
ip=`cat /root/ip.txt|awk '/hadoop2/{print $2}'`
ip1=`cat /root/ip.txt|awk '/hadoop3/{print $2}'`
passwd1=`cat /root/ip.txt|awk '/hadoop2/{print $NF}'`
passwd2=`cat /root/ip.txt|awk '/hadoop3/{print $NF}'`
ShowMenu
echo -n " enter your ssh: "
read link
case $link in
3)
ping -c 3 $ip1 &> /dev/null >> /tmp/ipcheck.log
echo $?
if [ $? -eq 0 ]
then
# echo " hadoop3 OK" && echo "****************你来到hadoop3,请输入密码登录********************" && ssh root@$ip1
# echo " hadoop3 OK" && echo "****************你来到hadoop3,请输入密码登录********************" && ssh root@$ip1
# else
# echo " hadoop3 error"
# fi
#passwd='123456'
/usr/bin/expect <<-EOF
set timeout 30
spawn ssh root@$ip1
expect {
"yes/no" { send "yes\r"; exp_continue }
"password:" { send "$passwd2\r" }
}
expect "*#"
interact
expect eof
EOF
else
echo " hadoop3 error"
fi
;;
0)
exit
;;
*)
echo "error choice!!"
;;
esac
done
[root@hadoop1 ~]# ./ssh.sh
*****************欢迎来到ssh跳转********************
**********************
* Operation Menu *
**********************
* 1. hadoop2 *
* 2. hadoop1 *
* 3. hadoop3 *
* 0. Quit *
**********************
enter your ssh: 3
0
spawn ssh root@192.168.0.124
root@192.168.0.124's password:
Last login: Fri Sep 16 10:36:40 2016 from hadoop1
[root@hadoop3 ~]# ls
**********************
* Operation Menu *
**********************
* 1. hadoop2 *
* 2. hadoop1 *
* 3. hadoop3 *
* 0. Quit *
**********************
enter your ssh: error choice!!
^C
编辑回复