跳板機腳本(粗糙版)
阿新 • • 發佈:2018-03-07
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
跳板機腳本(粗糙版)