ssh密鑰轉發(Linux和Windows)


前言

一般公司的服務器放在外網時,都會設置一個跳板機,訪問公司其他服務器都需要從跳板機做一個ssh跳轉(防火牆規則會做相應配置),而前文講過,外網的服務器基本都要通過證書登錄的。於是我們面臨一個情況,本機ssh->跳板機->目標機器。如果是密碼驗證,這個問題都不到,但是對於證書登錄,就帶來一個ssh密鑰轉發的問題。

linux ssh客戶端密鑰轉發

如果是linux客戶端,從linux客戶端的ssh跳轉過去時,一般我們會執行命令

ssh blue@跳板機ip

然后我們在跳本機上跳轉到目標機器

ssh blue@目標機器ip

跳板機ip和目標機器ip,blue賬戶下已經在相應的.ssh/authorized_keys加入了公鑰,配置是沒有問題了,但是我們會遇到一個錯誤,叫Pubkey Unauthorization,因為跳板機沒有blue的私鑰。問題總是會有,解決方法也總是有,ssh是有轉發密鑰的功能,所以我們從本機跳轉到跳板機是,可以把私鑰轉發過去。

所以正確做法是,在本機linux客戶端執行命令

ssh -A blue@跳板機ip

-A表示轉發密鑰,所以跳轉到跳板機,密鑰也轉發了過來。

接下來我們再在跳板機執行命令

ssh -A blue@目標機器ip

這里的-A參數非必要,如果你不需要從目標機器跳轉到其他目標機器,也不需要繼續轉發密鑰了。

另外可以配置本機客戶端的默認配置文件,修改為默認轉發密鑰:

修改ssh_config(不是sshd_config,一般在/etc或者/etc/ssh下):把#ForwardAgent no改為ForwardAgent Yes

跳板機是否需要配置,同理參考你的需要。

windows SecureCRT密鑰轉發

windows下SecureCRT配置代理轉發,需要做以下設置

這里也只是配置客戶端跳轉到跳板機轉發密鑰,至於跳板機是否可以轉發密鑰,還是要參考上文的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM