跳板机操作
一、事先准备好三台机子
1 2 3 4 5 | 1、192.168.40.129(做跳板机) 2、192.168.40.67(web1) 3、192.168.40.142(web2) |
目的:通过跳板机登录两个web机
二、跳板机上的操作
1、免密码登录
1 2 3 4 | ssh-keygen ssh-copy-id zjz@192.168.40.67(机子67上要有zjz账户,且密码知道) ssh-copy-id -i ./id_rsa.pub "-p 58422 root@192.168.1.10" ssh-copy-id zz@192.168.40.142(同上) |
2、 使用户登录跳板机,立即进行跳转询问,可以将登录脚本,加进登录默认启动中。
vim ~/.bash_profile
粘贴脚本地址。
3、拒绝用户使用快捷键退出,捕捉用户信号
1 2 | #!/bin/bash/ trap "" HUP INT OUIT TSTP |
4、 美化脚本
1 2 | echo -en "\e[1;32m input number: \e[0m" read num |
三、跳板机脚本(aa.sh)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | #!/usr/bin/bash #定义目标主机IP web1=192.168.40.67 web2=192.168.40.142 mysql1=192.168.40.143 个数由自己要登录的主机决定 #跳转菜单不退出 while : do clear cat <<EOF 1.web1 2.web2 3.mysql 4.help 5. exit EOF #读取用户输入 echo -en "\e[1;36m input number: \e[0m" (-ne,e颜色,n不换行,括号内的注释不写在脚本) read num case $num in 1) ssh zjz@$web1 ;; 2) ssh zz@$web2 ;; 3) ssh cc@$web ;; 4) echo "zijibaiduquba" sleep 5 ;; 5) exit 4 ( echo $? 此处反回值为4) ;; *) echo "错误输入" ;; esac done |