linux中的jumpserver
jumpserver原理图
前端到跳板机jumpserver的alice用户密码,和jumpserver到后端服务器的密码可以不同。用户可以通过jumpserver登陆后端服务器但是不能登陆到jumpserver服务器本身,需要在jumpserver服务器上设置登陆用户登陆后的初始化环境中定义登陆到后端服务器的选项菜单,并禁止用户退出到jumpserver服务器本身上来。可以定义登陆到后端服务器的菜单选项脚本jumpserver.sh,然后再配置跳板机umpserver的账户alice的初始配置文件/home/alice/.bash_profile中指定执行的菜单脚本文件jumpserver.sh
jumpserver.sh代码如下:
跳板机上编写jumpserver.sh脚本,默认为密码验证登陆方式
1 #!/usr/bin/bash 2 3 #jumpserver 4 5 trap “ ” HUP INT OUIT TSTP #捕捉中断信号,并什么都不处理 6 7 web1=192.168.0.1 8 9 web2=192.168.0.2 10 11 mysql1=192.168.0.3 12 13 clear 14 15 while : #:代表条件为真,相当于true 16 17 do 18 19 cat <<-eof 20 21 ====================================== 22 23 # jumpserver 24 25 # 1) web1 26 27 # 2) web2 28 29 # 3) mysql1 30 31 ====================================== 32 33 eof 34 35 #echo -n选项代表打印的内容默认无换行符 36 37 echo -en “\e[1;32m input a number: \e[0m” 38 39 read num 40 41 case “$num” in 42 43 1) 44 45 ssh alice@$web1 46 47 ;; 48 49 2) 50 51 ssh alice@$web2 52 53 ;; 54 55 3) 56 57 ssh alice@$mysql1 58 59 ;; 60 61 “”) #代表什么都不输入 62 63 ;; 64 65 *) 66 67 echo "error" 68 69 esac 70 71 done
#使用密钥验证登陆方式,需要先在跳板机上执行ssh密钥验证,而且是通过alice账号执行该命令(因为需要通过alice普通账号来登陆到后端服务器)
ssh-keygen
ssh-copy-id 192.168.0.1
ssh-copy-id 192.168.0.2
ssh-copy-id 192.168.0.3
然后执行sh jumpserver.sh脚本即可