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腳本即可