我有以下情况:
- 主机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 [email protected] -v 192.168.3.0/24 &
ssh [email protected]
sshuttle -r root@$192.168.2.1 -v 192.168.3.0/24 &
例如,如果我在浏览器中打开http://192.168.3.5我从机器 A 接收目标节点中的 TCP 包,但没有正确路由答案。
答案1
与ProxyCommand
其他多跳设置类似。创建一个文件~/.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 &
答案2
sshuttle -r user@targetMachine -e 'ssh -J jumpHost1,jumpHost2' <forwardedNetwork>