如何使用密碼進行多跳 ssh?

如何使用密碼進行多跳 ssh?

我想ssh從 出發server1server3經由到達server2

這可以使用以下方法完成:

ssh -t user2@server2 ssh user3@server3

但我怎麼能做到這server2一點server3密碼登入?

限制條件:

1)不會輸入密碼

2)在這種情況下我無法使用 ssh 金鑰

答案1

-t您應該在每個後續的 中使用該選項ssh,最後一個除外:

ssh -t user1@server1 ssh -t user2@server2 ssh user3@server3

如果可能,最好使用-J( ProxyJump) 而不是嵌入的 ssh 指令:

ssh -J user1@server1,user2@server2 user3@server3

答案2

有幾種方法可以做到這一點。我會使用的快速而骯髒的方法是從隧道中出來server1 -> server2,然後使用該隧道去server1 -> server3

ssh -L localhost:2222:server3:22 server2

這裡我們說的是:
ssh 到server2...
上顯示的任何流量L本地主機連接埠 2222 上隧道的本地側...
穿過隧道..
在遠端,將該流量傳送到 server3 連接埠 22

然後從另一個視窗:

ssh -p2222 localhost

這將提示您輸入 server3 上的密碼。

相關內容