Linux下trap+shell三层目录专业规范跳板机脚本
  TEZNKK3IfmPf 2023年11月13日 16 0

跳板机安全防范规划:

跳板机-> 中心机 -> 后端服务器

跳板机:用来做跳板登陆中心机用的

中心机:一般用来做分发用的,用来登陆后端服务器

在内网:一般直接连中心机,然后直接连接后端服务器

在外网:为了安全,一般会先通过普通用户连接跳板机,然后再连接中心机,然后再在中心机连接后端服务器

注意:普通用户是不让登陆到跳板机终端的

 

三层目录跳板脚本实现功能:

1、通过普通用户连接跳板再直接连接后端服务器

2、ssh+key认证,CRT代理转发功能开启,自别识别用户,无需用户再输入用户名、密码和端口

3、trap信号捕捉不允许用户Crtl+C退出脚本,跳板脚本普通用户一登陆就会自动运行

注意:这里只展示qqandroid平台的其中一台服务器的ssh连接,其他平台服务器的ip连接原理一样

 

 

#创建脚本目录

mkdir -p /scripts/tiaoban/{qqandroid,qqios,qqwxandroid,wxios}

 

#禁止普通用户登陆

cat /etc/profile.d/tiaoban.sh
[ $UID -ne 0 ] && . /scripts/tiaoban/tiaoban.sh

 

#脚本目录结构

[root@Master /]# tree /scripts/tiaoban/
/scripts/tiaoban/
├── qqandroid
│   ├── 1_100.sh
│   ├── ip.txt
│   └── qqandroid.sh
├── qqios
├── qqwxandroid
├── tiaoban.sh
└── wxios

4 directories, 4 files

 

#跳板脚本第一层目录,

cat /scripts/tiaoban/tiaoban.sh                             
#!/bin/bash
function trapper() {
trap ':' 1 2 3 20 15
}
while :
do 
trapper
clear
cat <<menu                       
    1)qqandroid 
    2)qqios(功能未开发)
    3)wxandroid(功能未开发)
    4)wxios(功能未开发)
    5)exit
menu
read -p 'please select a num:' num
case "$num" in
1)
 sh /scripts/tiaoban/qqandroid/qqandroid.sh
 ;;
2)
 sh /scripts/tiaoban/qqios/qqios.sh
 ;;
3)
 sh /scripts/tiaoban/wxandroid/wxandroid.sh
 ;;
4)
 sh /scripts/tiaoban/wxios/wxios.sh
 ;;
5)
 exit
 esac
done

 

#跳板机脚本第二层目录 

cat /scripts/tiaoban/qqandroid/qqandroid.sh
#!/bin/bash
function trapper() {
        trap ':' 1 2 3 20 15
}
while :
do
        trapper
        clear
        cat <<menu                     
        1)qqandroid1-100服
        2)qqandroid101-200服(功能未开发)
        3)qqandroid201-300服(功能未开发)
        4)qqandroid301-400服(功能未开发)
        5)返回上一级
        6)exit
menu
read -p 'please select a num:' num
case "$num" in
1)
 sh /scripts/tiaoban/qqandroid/1_100.sh
 ;;
2)
 sh /scripts/tiaoban/qqandroid/101_200.sh
 ;;
3)
 sh /scripts/tiaoban/qqandroid/201_300.sh
 ;;
4)
 sh /scripts/tiaoban/qqandroid/301_400.sh
 ;;
5)
 sh /scripts/tiaoban/tiaoban.sh
 ;;
6)
 exit
 esac
done

 

#跳板机脚本第三层目录

cat /scripts/tiaoban/qqandroid/1_100.sh
#!/bin/bash
function trapper() {
        trap ':' 1 2 3 20 15
}
while :
do                                    
        trapper
        clear
        cat <<menu               
        1)qqandroid1服
        2)qqandroid2服(功能未开发)
        3)qqandroid3服(功能未开发)
        4)qqandroid...服(功能未开发)
        5)返回上一级目录
        6)返回首页
        7)退出
menu
read -p 'please select a num:' num
function connect() {
        yh=`id`
        user=`echo $yh | awk -F" " '{print $2}' | awk -F"gid=" '{print $2}' | awk -F"(" '{print $2}' | awk -F")" '{print $1}'`
        ip=`head -$num /scripts/tiaoban/qqandroid/ip.txt | tail -1`
        ssh -p 22 $user@$ip
}
if [ "$num" == 5 ];then
        sh /scripts/tiaoban/qqandroid/qqandroid.sh
elif [ "$num" == 6 ];then
        sh /scripts/tiaoban/tiaoban.sh
else
        connect
fi
done

 

#ip.txt文件展示

[root@Master ~]# cat /scripts/tiaoban/qqandroid/ip.txt 
192.168.17.215
192.168.17.216
192.168.17.217
192.168.17.218
192.168.17.219
192.168.17.220
192.168.17.221
192.168.17.222
192.168.17.223
192.168.17.224
192.168.17.225

 

#脚本执行展示

 1)普通用户登陆

Linux下trap+shell三层目录专业规范跳板机脚本

 

 2)第一层目录

Linux下trap+shell三层目录专业规范跳板机脚本

 

 3)第二层目录

Linux下trap+shell三层目录专业规范跳板机脚本

 

 4)第三层目录和登陆成功展示

Linux下trap+shell三层目录专业规范跳板机脚本

 

注意:在三层任意一层普通用户都按crtl+c都是无效的,且在第三层选择exit退出会回到第二层,在第二层选择exit会回到第一层,在第一层选择exit会注销终端重新执行跳板脚本,普通用户是没法登陆到跳板机终端的,周知

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月13日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2024年05月31日   51   0   0 linux服务器
  TEZNKK3IfmPf   2024年05月31日   29   0   0 linux服务器centos
  TEZNKK3IfmPf   2024年05月31日   29   0   0 linuxbind
  TEZNKK3IfmPf   19天前   26   0   0 shell
  TEZNKK3IfmPf   2024年05月31日   39   0   0 linuxshell
TEZNKK3IfmPf