用 shell编程实现 jumpserver跳板机的功能
首先是选择 1运维 或者 2 开发人员
然后输入自己密码(输入4次错误 就退出程序)
输入 woshiyunwei 可结束 程序 (已经实现了 屏蔽 ctrl c 信号)
输入密码123456 可以进入2级菜单:
#!/bin/bash
WEB01=10.0.0.7
WEB02=10.0.0.8
NFS=10.0.0.31
MYSQL=10.0.0.51
BACKUP=10.0.0.41
menu2(){
echo -e "\t\t\t \033[41;36m 1 $WEB01 \033[0m"
echo -e "\t\t\t \033[41;36m 2 $WEB02 \033[0m"
echo -e "\t\t\t \033[41;36m 3 $NFS \033[0m"
echo -e "\t\t\t \033[41;36m 4 $MYSQL \033[0m"
echo -e "\t\t\t \033[5;34m 5 $BACKUP \033[0m"
echo -e "\t\t\t \033[41;36m 6 退出当前 \033[0m"
}
menu3(){
echo -e "\t\t\t \033[41;36m 3 $NFS \033[0m"
}
menu1(){
echo -e "\t\t\t \033[41;36m 1 运维人员 \033[0m"
echo -e "\t\t\t \033[41;36m 2 开发人员 \033[0m"
}
func_menu2(){
while true
do
menu2
read -p "请输入要连接的服务器编号" num
case $num in
1)
ssh $WEB01
;;
2)
ssh $WEB02
;;
3)
ssh $NFS
;;
4)
ssh $MYSQL
;;
5)
ssh $BACKUP
;;
6)
break
;;
*)
echo " Please use $0 [1|2|3|4..]"
esac
done
}
num_passwd=0
while true
do
menu1
trap "" INT HUP TSTP
read -p "请输入工作岗位编码" worknum
if [ $worknum == woshiyunwei ]; then
exit
fi
case $worknum in
1)
read -p "请输入密码:" passwd
echo $passwd
if [ $passwd == 123456 ]; then
func_menu2
elif [ $num_passwd == 3 ]; then
echo "密码输入超过3次 即将退出"
sleep 3
exit
else
num_passwd=$((num_passwd+1))
read -p "$num_passwd次密码错误 请重新输入" passwd
fi
;;
2)
func_menu3
;;
*)
echo "please use [1|2]"
esac
done