目的
在多臺服務器上選擇一臺作爲跳板機,通過這臺服務器能免密跳轉到其他的服務器
前期準備
1臺跳板機服務器,多臺其他服務器
步驟
- 在跳板機上創建一個普通用戶並初始化密碼
# adduser visitor #創建visitor用戶
# passwd visitor #初始化visitor用戶的密碼
- root用戶在/usr/bin目錄下編寫jump腳本,讓其他普通用戶可以用root身份跳轉到其他服務器(如果不需要可以改成對應的用戶名),之後賦予腳本可執行權限
# vim jump
# chmod +x jump
#!/bin/bash
if [ $1 == "node1" ];then
ssh root@xxx -i /home/visitor/.ssh/id_rsa_1
elif [ $1 == "node2" ];then
ssh root@xxx -i /home/visitor/.ssh/id_rsa_2
elif [ $1 == "node3" ];then
ssh root@xxx -i /home/visitor/.ssh/id_rsa_3
else
echo "please enter correct server's name"
fi
-
登錄其他的服務器執行ssh-keygen -t rsa命令,生成密鑰,詢問是否輸入時可以直接回車
-
生成密鑰後,修改生成的公鑰名字爲authorized_keys,並設置權限
# mv id_rsa.pub authorized_keys
# chmod 600 authorized_keys
# chmod 700 ~/.ssh
- 保存好私鑰id_rsa後,修改sshd_config
# vim /etc/ssh/sshd_config
修改配置的如下內容
PermitRootLogin yes(如果不允許使用root登錄,這裏設置爲no)
PasswordAuthentication no (不允許使用密碼登錄)
RSAAuthentication yes
PubkeyAuthentication yes
- 重啓sshd服務systemctl restart sshd.service
- 把之前保存的id_rsa密鑰上傳到跳板機上,放在/home/visitor/.ssh文件夾下,修改權限chmod 600 id_rsa_x
- 登錄visitor用戶,在任意目錄下執行jump node1命令成功跳轉到其他的服務器