Ssh

在兩個躍點上鍊接 sshuttle 命令

  • August 23, 2021

我有以下情況:

  • 主持人A:小米機器
  • 主機 B:伺服器 - 192.168.1.1
  • 主機 C:跳節點 - 192.168.2.1
  • 網路 N:192.168.3.0/24

使用 sshuttle 轉發並能夠從機器 A 通過 B 和 C 到達網路 N (192.168.3.0/24) 的機器的最佳方式是什麼?

我實際上可以執行:

sshuttle -r root@192.168.1.1 -v 192.168.3.0/24 &
ssh root@192.168.1.1
sshuttle -r root@$192.168.2.1 -v 192.168.3.0/24 &

如果我在瀏覽器中打開,例如來自機器 A 的http://192.168.3.5,我將在目標節點中接收 TCP 包,但沒有正確路由答案。

ProxyCommand對所有其他多跳設置使用like。創建一個~/.ssh/config文件

Host B
 Hostname 192.168.1.1
 User root
Host C
 Hostname 192.168.2.1
 User root
 ProxyCommand ssh -W %h:%p B

然後只需使用 sshuttle 連接:

sshuttle -r C -v 192.168.3.0/24 &
sshuttle -r user@targetMachine -e 'ssh -J jumpHost1,jumpHost2' <forwardedNetwork>

引用自:https://serverfault.com/questions/826585