1. 程式人生 > >跳板機腳本(粗糙版)

跳板機腳本(粗糙版)

Shell 跳板機

跳板機需求: 要求用戶登陸到跳板機後,只能執行管理員給定的選項動作,不允許以任何形式中斷腳本而到跳板機服務器上 執行任何系統命令。 需求分析: (1)跳板機服務器需要和其余服務器做好ssh秘鑰認證 (2)實現傳統的遠程連接菜單的腳本 (3)利用Linux信號防止用戶中斷信號在跳板機上操作 (4)用戶登錄跳板機後即刻調用腳本,並且只能安裝管理員的要求選擇 [root@lb01 ~]# useradd jump [root@lb01 ~]# echo "123456"|passwd --stdin jump 更改用戶 jump 的密碼 。 passwd:所有的身份驗證令牌已經成功更新。 [root@web01 ~]# useradd jump [root@web01 ~]# echo "123456"|passwd --stdin jump 更改用戶 jump 的密碼 。 passwd:所有的身份驗證令牌已經成功更新。 [root@web02 ~]# useradd jump [root@web02 ~]# echo "123456"|passwd --stdin jump 更改用戶 jump 的密碼 。 passwd:所有的身份驗證令牌已經成功更新。 [root@lb01 ~]# su - jump [jump@lb01 ~]$ ssh-keygen -t rsa -P ‘‘ -f ~/.ssh/id_rsa > /dev/null 2>&1 [jump@lb01 ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.56.110 [jump@lb01 ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.56.120 [root@lb01 ~]# vim /etc/profile.d jump.sh #!/bin/bash [ $UID -ne 0 ] && . /server/scripts/jump.sh [root@lb01 ~]# mkdir /server/scripts/ -p [root@lb01 ~]# vim /server/scripts/jump.sh #!/bin/bash trapper() { trap ‘:‘ INT EXIT TSTP TERM HUP } main() { while : do trapper clear cat <<menu 1)Web01:192.168.56.110 2)Web02:192.168.56.120 #If you want quit the server,please input the Q|q for quit. menu read -p "Please input the server what you want to login.:" num case $num in 1) echo "login the 192.168.56.110" ssh 192.168.56.110 ;; 2) echo "login the 192.168.56.120" ssh 192.168.56.120 ;; Q|q) echo "Quit ............" exit 0 ;; *) echo "Your input is error." sleep 2 ;; esac done } main

技術分享圖片

跳板機腳本(粗糙版)