通過shell腳本實現簡單的密鑰登錄的跳板機

目的

在多臺服務器上選擇一臺作爲跳板機,通過這臺服務器能免密跳轉到其他的服務器

前期準備

1臺跳板機服務器,多臺其他服務器

步驟

  1. 在跳板機上創建一個普通用戶並初始化密碼
# adduser visitor  #創建visitor用戶
# passwd visitor   #初始化visitor用戶的密碼 
  1. 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
  1. 登錄其他的服務器執行ssh-keygen -t rsa命令,生成密鑰,詢問是否輸入時可以直接回車
    在這裏插入圖片描述

  2. 生成密鑰後,修改生成的公鑰名字爲authorized_keys,並設置權限

# mv id_rsa.pub authorized_keys
# chmod 600 authorized_keys
# chmod 700 ~/.ssh
  1. 保存好私鑰id_rsa後,修改sshd_config
# vim /etc/ssh/sshd_config

修改配置的如下內容
PermitRootLogin yes(如果不允許使用root登錄,這裏設置爲no)
PasswordAuthentication no (不允許使用密碼登錄)
RSAAuthentication yes
PubkeyAuthentication yes

  1. 重啓sshd服務systemctl restart sshd.service
  2. 把之前保存的id_rsa密鑰上傳到跳板機上,放在/home/visitor/.ssh文件夾下,修改權限chmod 600 id_rsa_x
  3. 登錄visitor用戶,在任意目錄下執行jump node1命令成功跳轉到其他的服務器
    在這裏插入圖片描述
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章