Цепочка команд sshuttle через два перехода

Цепочка команд sshuttle через два перехода

У меня следующий сценарий:

  • Хост A: Моя машина
  • Хост B: Сервер - 192.168.1.1
  • Хост C: Узел перехода - 192.168.2.1
  • Сетевой N: 192.168.3.0/24

Какой наилучший способ использовать sshuttle для пересылки и достижения машин сети N (192.168.3.0/24) с машины A, минуя B и C?

Я действительно могу запустить:

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

Используйте ProxyCommandlike для любой другой многоадресной настройки. Создайте файл ~/.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>

Связанный контент