ssh连接框架:
[root@test day5]
WEB01=172.16.1.7
WEB02=172.16.1.8
NFS=172.16.1.31
BACKUP=172.16.1.41
DB01=172.16.1.51
LB01=172.16.1.5
LB06=172.16.1.6
echo -e "\t\t\t\t\t\t 1.WEB01"
echo -e "\t\t\t\t\t\t 2.WEB02"
echo -e "\t\t\t\t\t\t 3.NFS"
echo -e "\t\t\t\t\t\t 4.BACKUP"
echo -e "\t\t\t\t\t\t 5.DB01"
read -p "请输入要登录主机的编号: " num
case $num in
1|web01)
ssh $WEB01
;;
2)
ssh $WEB02
;;
3)
ssh $NFS
;;
*)
echo "Usage: $0 [1|2|3|4]"
esac
运维代码:
[root@test day5]
WEB01=172.16.1.7
WEB02=172.16.1.8
NFS=172.16.1.31
BACKUP=172.16.1.41
DB01=172.16.1.51
LB01=172.16.1.5
LB06=172.16.1.6
kf(){
echo -e "\t\t\t\t\t\t 1.WEB01=172.16.1.7"
}
yw(){
echo -e "\t\t\t\t\t\t 1.WEB01=172.16.1.7"
echo -e "\t\t\t\t\t\t 2.WEB02=172.16.1.8"
echo -e "\t\t\t\t\t\t 3.NFS=172.16.1.31"
echo -e "\t\t\t\t\t\t 4.BACKUP=172.16.1.41"
echo -e "\t\t\t\t\t\t 5.DB01=172.16.1.51"
echo -e "\t\t\t\t\t\t h.显示菜单"
}
echo -e "\t\t\t\t\t\t 1.运维"
echo -e "\t\t\t\t\t\t 2.开发"
read -p "请选择你的身份: " num
if [ $num -eq 1 ];then
yw
while true
do
read -p "请输入要登录主机的编号[h显示菜单]: " num
case $num in
1|web01)
ssh $WEB01
;;
2)
ssh $WEB02
;;
3)
ssh $NFS
;;
h)
clear
yw
;;
*)
echo "Usage: $0 [1|2|3|4]"
esac
done
fi
开发代码:
[root@test day5]
WEB01=172.16.1.7
WEB02=172.16.1.8
NFS=172.16.1.31
BACKUP=172.16.1.41
DB01=172.16.1.51
LB01=172.16.1.5
LB06=172.16.1.6
kf(){
echo -e "\t\t\t\t\t\t 1.WEB01=172.16.1.7"
}
yw(){
echo -e "\t\t\t\t\t\t 1.WEB01=172.16.1.7"
echo -e "\t\t\t\t\t\t 2.WEB02=172.16.1.8"
echo -e "\t\t\t\t\t\t 3.NFS=172.16.1.31"
echo -e "\t\t\t\t\t\t 4.BACKUP=172.16.1.41"
echo -e "\t\t\t\t\t\t 5.DB01=172.16.1.51"
echo -e "\t\t\t\t\t\t h.显示菜单"
}
echo -e "\t\t\t\t\t\t 1.运维"
echo -e "\t\t\t\t\t\t 2.开发"
read -p "请选择你的身份: " num
if [ $num -eq 1 ];then
yw
while true
do
read -p "请输入要登录主机的编号[h显示菜单]: " num
case $num in
1|web01)
ssh $WEB01
;;
2)
ssh $WEB02
;;
3)
ssh $NFS
;;
h)
clear
yw
;;
*)
echo "Usage: $0 [1|2|3|4]"
esac
done
elif [ $num -eq 2 ];then
kf
while true
do
read -p "请输入要登录主机的编号[h显示菜单]: " num
case $num in
1|web01)
ssh $WEB01
;;
2)
ssh $WEB02
;;
3)
ssh $NFS
;;
h)
clear
kf
;;
*)
echo "Usage: $0 [1|2|3|4]"
esac
done
fi
完善脚本:
[root@test day5]
WEB01=172.16.1.7
WEB02=172.16.1.8
NFS=172.16.1.31
BACKUP=172.16.1.41
DB01=172.16.1.51
LB01=172.16.1.5
LB06=172.16.1.6
kf(){
echo -e "\t\t\t\t\t\t 1.WEB01=172.16.1.7"
}
yw(){
echo -e "\t\t\t\t\t\t 1.WEB01=172.16.1.7"
echo -e "\t\t\t\t\t\t 2.WEB02=172.16.1.8"
echo -e "\t\t\t\t\t\t 3.NFS=172.16.1.31"
echo -e "\t\t\t\t\t\t 4.BACKUP=172.16.1.41"
echo -e "\t\t\t\t\t\t 5.DB01=172.16.1.51"
echo -e "\t\t\t\t\t\t h.显示菜单"
echo -e "\t\t\t\t\t\t 6|q.返回主菜单"
}
menu(){
echo -e "\t\t\t\t\t\t 1.运维"
echo -e "\t\t\t\t\t\t 2.开发"
echo -e "\t\t\t\t\t\t 3|g.娱乐一下"
}
trap "echo 别乱按小心爆炸" INT HUP TSTP
while true
do
menu
read -p "请选择你的身份: " num
if [ $num -eq 1 ];then
while true
do
read -s -p "输入运维的密码: " pass
if [ $pass = oldboy123 ];then
echo "欢迎运维回家"
yw
while true
do
read -p "请输入要登录主机的编号[h显示菜单]: " num
case $num in
1|web01)
ssh $WEB01
;;
2)
ssh $WEB02
;;
3)
ssh $NFS
;;
h)
clear
yw
;;
6|q)
break 2
;;
woshiyunwei)
exit
;;
*)
continue
esac
done
else
let i++
if [ $i -eq 3 ];then
echo "想想在输入"
sleep 2
continue
fi
echo "密码输入错误重新输入"
continue
fi
done
elif [ $num -eq 2 ];then
kf
while true
do
read -p "请输入要登录主机的编号[h显示菜单]: " num
case $num in
1|web01)
ssh $WEB01
;;
2)
ssh $WEB02
;;
3)
ssh $NFS
;;
h)
clear
kf
;;
woshiyunwei)
exit
;;
*)
echo "Usage: $0 [1|2|3|4]"
esac
done
elif [ $num -eq 3 ];then
sh game.sh
fi
done
expect免交互发送秘钥
[root@test day5]
set timeout 10
set user root
set ip 172.16.1.31
set password 1
spawn ssh-copy-id $user@$ip
expect {
"yes/no" { send "yes\n";exp_continue }
"password" { send "$password\n" }
}
interact