shell之菜单(跳板机管理及连接脚本)

#!/bin/bash

Wap_Server="10.0.0.1"

Mem_Server="10.0.0.2"

Erp01_Server="10.0.0.3"

Erp02_Server="10.0.0.4"

ErpOld_Server="10.0.0.5"

Backup_Server="10.0.0.6"

Monitor_Server="10.0.0.7"

DOSSH=/home/lichuang/scrips/dossh.sh  #这是一个远程ssh批量远程执行的脚本

PROT=22

function CheckUser(){

if [ $UID -ne 888 ]

then

echo ‘PLS SU - 888‘

exit

fi

function MENU(){

echo -e "\033[1;32m     <<Ailyun jume MENU>> \033[0m"

cat <<EOF

##########################################

1.Administration ALL server

2.Connect ONE server

3.Exit

##########################################

EOF

}

function FIRST(){

clear

echo -e "\033[1;32m     <<Ailyun jume Administration menu>> \033[0m"

MENU

read -p "Please input num: " num

case $num in

1)

Admin_Server

;;

2)

Connect_Server

;;

3)

exit

;;

*)

clear

echo -e "\033[31m############################################\033[0m"

echo -e "\033[31m#\033[0m""\033[1;5;31m   Input error Num ,Please input again \033[0m""\033[31m   #\033[0m"

echo -e "\033[31m############################################\033[0m"

sleep 3

FIRST

esac

}

function Admin_Menu(){

echo -e "\033[1;32m     <<Ailyun jume Administration menu>> \033[0m"

cat <<EOF

##########################################

1.df -h

2.free -m

3.uptime

4.iostat

5.ifconfig

6.OTHER what you want

7.Return to the upper menu

8.Exit

##########################################

EOF

}

function Admin_Server(){

clear

Admin_Menu

read -p "Please input num: " num

case $num in

1)

/bin/bash $DOSSH "df -h"

Admin_Server

;;

2)

/bin/bash $DOSSH "free -m"

Admin_Server

;;

3)

/bin/bash $DOSSH "uptime"

Admin_Server

;;

4)

/bin/bash $DOSSH "iostat"

Admin_Server

;;

5)

/bin/bash $DOSSH "ifconfig"

Admin_Server

;;

6)

echo "Temporarily not supported sorry"

Admin_Server

;;

7)

FIRST

;;

8)

exit

;;

*)

clear

echo -e "\033[31m############################################\033[0m"

echo -e "\033[31m#\033[0m""\033[1;5;31m   Input error Num ,Please input again \033[0m""\033[31m   #\033[0m"

echo -e "\033[31m############################################\033[0m"

sleep 3

Admin_Server

esac

}

function Connect_Menu(){

echo -e "\033[1;32m     <<Ailyun jume connect menu>> \033[0m"

cat <<EOF

============================================

1. Wap__$Wap_Server

2. Mem__$Mem_Server

3. Erp01__$Erp01_Server

4. Erp02__$Erp02_Server

5. ErpOld__$ErpOld_Server

6. Backup__$Backup_Server

7. Monitor__$Monitor_Server

8. Return to the upper menu

9. Exit

============================================

EOF

}

function Connect_Server(){

clear

Connect_Menu

read -p "Please input num: " num

case $num in

1)

ssh -p$PROT $Wap_Server

;;

2)

ssh -p$PROT $Mem_Server

;;

3)

ssh -p$PROT $Erp01_Server

;;

4)

ssh -p$PROT $Erp02_Server

;;

5)

ssh -p$PROT $ErpOld_Server

;;

6)

ssh -p$PROT $Backup_Server

;;

7)

ssh -p$PROT $Monitor_Server

;;

8)

FIRST

;;

9)

clear

exit

;;

*)

clear

echo -e "\033[31m############################################\033[0m"

echo -e "\033[31m#\033[0m""\033[1;5;31m   Input error Num ,Please input again \033[0m""\033[31m   #\033[0m"

echo -e "\033[31m############################################\033[0m"

sleep 3

Server

esac

}

main (){

CheckUser

FIRST

}

main

时间: 2024-10-25 19:16:45

shell之菜单(跳板机管理及连接脚本)的相关文章

shell 写登录跳板机

准备3台机器 1.linux-node1  ip:10.89.3.108 (跳板机) 2.weblamp      ip:10.89.3.100 3.weblnmp      ip:10.89.3.101 3台系统环境如下: [[email protected] ~]$ cat /etc/redhat-release  CentOS release 6.8 (Final) 1)首先做好SSH密钥验证 在所有的3台机器上执行下面操作  [[email protected] ~]#useradd j

跳板机定期改密码脚本

很早写的,最近别人问过一次,贴出来吧. #!/bin/bash # source /etc/profile &>/dev/null basedir=$(cd `dirname $0`;pwd) nowmonth=`date +%m` nowday=`date +%d` email="$basedir/email/sendemail.sh" function GaiMiMa() { user="$1" passwd=$(/usr/bin/mkpasswd

ansible工具如果通过堡垒机或者跳板机管理远程服务器

在ansible的使用过程中,存在这样的场景,ansible所在的管理节点与被管理的机器需要 通过一个跳板机才能连接,无法直接连接.要解决这个问题,并不需要在 ansible里做什么处理,而是在ssh连接层面解决这个问题. 例如, 我们有三类节点: 管理节点,admin.example.com,是执行ansible命令的服务器 被管理的节点,internal1.example.com, internal2.example.com 跳板机,bastion.example.com 管理节点不能直连

利用Shell开发跳板机功能脚本案例

范例17_6::开发企业级Shell跳板机案例.要求用户登录到跳板机仅能执行管理员给定的选项动作,不允许以任何形式中断脚本到跳板机服务器上执行任何系统命令. 方法1: 1)首先做好SSH密钥验证(跳板机地址192.168.33.128). 以下操作命令在所有机器上操作: [[email protected] ~]# useradd jump  #<==要在所有机器上操作. [[email protected] ~]# echo 123456|passwd --stdin jump  #<==要

shell脚本实现企业级简易跳板机案例

跳板机用途只做ssh中转,为严格控制跳板机数据进出.命令管理等,特对跳板机入口操作进行限制管理.该脚本包含两种界面风格,详见下面说明 . 功能说明: * 屏蔽用户对跳板机系统进行任何未授权操作操作 * 查询用户已授权主机,具备权限用户方可连接后台服务器 * 授权命令集合(密钥生成.上传.copy,密码更改等),可根据实际需求自定义 * 此脚本依赖于LDAP用户管理,如无LDAP服务,可自行定义用户和主机组对应关系即可 界面一:用户授权登陆主机数量不超过20台 通过选择左侧列表序号登陆右侧主机 选

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

#Dialog+Shell介绍 Dialog+Shell结合使用,方能体现出Dialog图形化的效果,在运维的时候,使用图形化界面,能给你一个更直观的感受,相信你会喜欢上他的 #创建脚本目录  [[email protected] ~]# mkdir -p /scripts/tiaoban/{qqandroid,qqios,qqwxandroid,wxios,menu_list} #禁止普通用户登陆 [[email protected] ~]# cat /etc/profile.d/tiaoba

mysql ssh 跳板机(堡垒机???)连接服务器

跳板机(Jump Server),也称堡垒机,是一类可作为跳板批量操作远程设备的网络设备,是系统管理员或运维人员常用的操作平台之一. 正常的登录流程 使用ssh命令登录跳板机: 登录跳板机成功后,在跳板机分配的终端中使用ssh命令再登录开发机,跳板机和开发机之间采用带密码的ssh验证,因此需要输入ssh私钥的密码. ssh隧道(通过跳板机)连接mysql 案例: A服务器   B服务器   C服务器mysql 现在mysql服务器C只能通过内网访问,B服务器就能通过内网连接访问到mysql A服

通过跳板机建立信任,对多个tomcat服务统一安装部署(shell编写)

=========================================================== conf : 录入服务器IP.安装路径后,脚本自动获取需要修改配置.每个服务提供一个配置文件,方便管理与扩展. bin : 提供总执行与单一执行脚本,脚本通过自动化获取配置,便于维护与扩展. bak : 保留获取原配置文件,便于问题分析. temp : 临时文件将及时删除无任何冗积. tools: 常用配置与通用文件处理写入统一函数,具体服务只需调用. new : 服务器交互文

Shell实现跳板机,为什么用跳板机

整理自:http://blog.chinaunix.net/uid-22101889-id-3167454.html 注意:请谨慎使用,到现在为止,使用了,我还没找到改回去的方法. 1.     问题 第一.很多大公司的服务器都不允许直接登录,而是通过一个跳板机才能登录过去.在跳板机中,通常只能执行几个少数命令(如SSH),而其他命令是不允许执行的,那么怎样才能实现这个功能呢? 第二.一些小公司,由于服务器比较少,不需要什么跳板机之类的说法,公司的开发运维人员加起来也就那么十几二十人,通常大家都