ssh密鑰轉發(Linux和Windows)
前言
一般公司的服務器放在外網時,都會設置一個跳板機,訪問公司其他服務器都需要從跳板機做一個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]