SSH обратный туннель socks

ssh -D может сделать порт носков на местной машине, которые передают движение к ремоте, после этого к другим местам.

ssh -L port:host:hostport, слушает порт на локальной машине, передает трафик к "хозяину: hostport" от точки зрения удаленной машины.

ssh -R port:host:hostport является аналогом ssh -L, которые слушают порт на удаленной машине, и передают движение "хозяину:хостпорт" от точки зрения местной машины.

но что такое аналог ssh -D, т. е., Как открыть порт socks на удаленной машине, которая будет передавать трафик то в локальное, то в другие места?

4
задан Kevin Panko
24.12.2022 17:32 Количество просмотров материала 3023
Распечатать страницу

3 ответа

С -D & -L у вас есть способ связи в любом случае между двумя машинами.

так...

  • на локальном компьютере используйте -R для создания порта прослушивания на удаленной машине, указывающего на sshd локальной машины.
  • использовать -D на удаленной машине, указал на порт, который вы создали выше.

Я "думаю" заполнение ниже сделает это работа...

ssh remotehost -R remoteport:localhost:localport "ssh -D 9050 localhost -p remoteport"

'remotehost','remoteport' & 'localport в выше нужно менять. Прокси socks будет сформирован на 9050.

12
отвечен PriceChild 2022-12-26 01:20

может быть достигнуто прозрачно с этим фрагментом в~/.ssh / config:

Host sockstunnel
    ProxyCommand ssh -D 3128 localhost nc -q 1 localhost 22

Host target
    RemoteForward 3128 localhost:3128
    ProxyCommand ssh -W target:22 sockstunnel

подробности

мы хотим обратный DynamicForward. Это достигается с помощью двух команд СШ:

  • ssh -D 3128 localhost
  • ssh -R 3128:localhost:3128 target

таким образом, цель имеет туннель SOCKS к клиенту SSH.

то, что я сделал, это использовать классический способ цепочки ssh для достижения удаленной цели через промежуточные хосты, так что туннель SOCKS создание обрабатывается прозрачно при входе в целевой объект. Первый трюк ProxyCommand + nc является обязательным, потому что-W подразумевает ClearAllForwardings.

9
отвечен user305311 2022-12-26 03:37

нет возможности предоставить обратный туннель socks с OpenSSH, поэтому необходимо выполнить команду ssh, предоставляющую прокси socks на "удаленной" машине.

Если удаленная машина не может ssh в локальную машину, сначала создайте ssh-соединение с локального на удаленный, который перенаправляет порт 22, например, 2222. Тогда удаленная машина can ssh на локальную машину через порт 2222.

3
отвечен Thorbjørn Ravn Andersen 2022-12-26 05:54

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх