Как создать обратное динамическое ssh перенаправление портов

Это - известная проблема.

Похоже, что существует патч, который происходит, но с этой записи еще не был применен ни к каким дистрибутивам Linux.

7
15.01.2015, 16:54
3 ответа

Я просто искал это и наткнулся на тот же (или похожий) вопрос на переполнении стека .

На клиенте SSH -R \ *: 24680: localhost: 12345 серверов А потом (все еще на клиенте a) SSH -D 12345 Localhost [1]

Вы нужно в \ * бит, поэтому он будет связываться с публичным IP-адресом сервера, а не просто localhost.

Затем на клиенте B просто подключайтесь к серверу Socks на серверах : 24680


[1] Редактировать: я только что понял, что это не будет работать, если клиент A не имеет SSH-сервера, потому что он не может SSH Отказ Я думал о настройке, где клиент A имел SSH-сервер, но не был доступен по серверу SSH S., но аналогичная настройка может работать, если вы сможете установить SOCKS SERVER на клиенте A и открыть его на порту 12345

6
27.01.2020, 20:15

Это довольно просто.

На локальной стороне (сервер S) запустите сервер openssh. Это запустит ssh-сервер по умолчанию на порту 22 - при необходимости вы можете изменить этот порт в файле / etc / ssh / sshd_config.

 service ssh start

На удаленной стороне (клиент A) запустите прокси-сервер socks И установите удаленный порт на локальной стороне для подключения к прокси-серверу socks.

 ssh -N -D 127.0.0.1:8888 -p 22 <server-s>
 ssh -N -R 2222:127.0.0.1:8888 -p 22 <server-s>

На локальной стороне (сервер S) используйте настройку прокси-сервера socks на порту 2222, например, через для подключения к Google.

 curl --socks5 127.0.0.1:2222 https://www.google.com
0
27.01.2020, 20:15

Не знаю, поможет ли это кому-нибудь, вот схема моей установки, которую мне удалось построить...

SSH reverse tunnel with SOCKS proxying

Вы увидите два процесса на МАШИНЕ _B:

Соединение клиента SSH с MACHINE _A (оливы):

ssh -R 127.0.0.1:22344:127.0.0.1:4444 -i privkey.sshkey -N user_a@machine_a

Клиент SSH, работающий как сервер SOCKS на порту 4444 (темно-зеленый):

ssh -D localhost:4444 -N user_c@localhost

И один процесс на МАШИНЕ _A, один сервер воспроизведения прослушивает порт 22344 (оливы ).

Светло-зеленый процесс на МАШИНЕ _B должен появиться, когда светло-зеленый процесс на МАШИНЕ _A запрашивает соединение...

2
27.01.2020, 20:15

Теги

Похожие вопросы