1. 程式人生 > >ssh密鑰轉發(Linux和Windows)

ssh密鑰轉發(Linux和Windows)

證書 authorize .cn 防火墻 con auth img fig blog

前言

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

linux ssh客戶端密鑰轉發

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

ssh [email protected]

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

ssh [email protected]
*/

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

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

ssh -A [email protected]

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

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

ssh -A [email protected]
/* */

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

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

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

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

windows SecureCRT密鑰轉發

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

技術分享

ssh密鑰轉發(Linux和Windows)