2017-05-26 59 views
0

我對當前設置中的私鑰發生了一些懷疑。當您從機器s ssh進入ssh隧道時,私鑰會發生什麼變化B-> A?

設置:

我有3臺:A,B,C A和C沒有公網IP,B有一個公網IP。我想從設備C訪問機A:< - B < - C.

我有一個反向隧道連接阿< == B,這是由上機A上運行完成:

ssh [options] -R PORT_B:localhost:PORT_A [email protected]_PUBLIC_IP -i user_B_private_key.pem 

所以,用這條隧道,我可以從機器B ssh到機器A使用:

ssh -p PORT_B [email protected] -i user_A_private_key 

(注:我不使用這個,我沒有user_A_private_key機器B)

而與此隧道我可以從機器C A使用ssh到機器:

ssh -p PORT_B [email protected] -i user_A_private_key 

問:

我想知道用什麼發生user_A_private_key對後一種情況(ssh在由C隧道A < == B,即機器C上的ssh通過機器B訪問機器A)。機器C是一臺服務器,它是安全的。機器B是一種跳箱;它是安全的,但我不希望它出於安全原因而知道任何私鑰。

明文中的密鑰是否離開機器C?用這種方法user_A_private_key是否安全?這種方法是否安全和/或推薦?


注:在機器B上的SSH服務器上,我允許TCP轉發,並使用GatewayPorts(clientspecified)

回答

0

在SSH,私有密鑰永遠不會離開客戶機。服務器只獲取簽名和公鑰,證明擁有私鑰。

+0

當我從C到A使用隧道B ==> A進行SSH連接時,C(客戶端)連接到B(服務器)並且B(客戶端)連接到A(服務器)。所以我的問題仍然是:在這種情況下,user_A_private_key是否存儲在機器B的某處? – jose

+0

你的意思是「已知」?不可以。私鑰不會像我已經寫過的那樣存儲在直接的機器上。 – Jakuje

+0

謝謝@Jakuje – jose