как реплицировать настройки туннеля ssh шпатлевки с помощью чистых команд командной строки?

После дня поиска я не смог воспроизвести эту функцию с помощью командной строки для ssh-туннеля и обратного туннеля.

конфигурация обратного туннеля ssh обратная конфигурация туннеля ssh на сервер SSHобычная конфигурация туннеля ssh введите здесь описание изображения

с указанными выше настройками пользовательского интерфейса я могу заставить его работать с инструкциями в Интернете!

в настоящее время я пытаюсь сделать

устройство 1 подключается к (ssh-серверу) и передает свой порт 80 на порт 9191 на сервер, затем сервер ретранслирует порт 9191 на устройство №3.

(устройство №1 реверсирует туннельный порт 9191 на серверное устройство №2) ‹--> (серверное устройство №2 получает порт 80 и использует его как порт 9191, который будет ретранслировать на устройство №3) ‹--> (устройство №3 с нормальным туннель для получения порта 9191 от устройства № 1, а устройство № 2 является посредником)

Я могу использовать пользовательский интерфейс шпатлевки, чтобы щелкнуть, чтобы он заработал, но я не могу воспроизвести рабочую ситуацию с помощью командной строки. Примеры командной строки ssh, похоже, не работают.

например: на обратном туннельном устройстве

ssh -R 9191:localhost:80 root@localhost

на обычном туннельном устройстве

ssh -L 9191:localhost:9191 root@localhost

пожалуйста, дайте мне знать, если в вопросе отсутствует информация или неясно, спасибо!

Чтобы прояснить свои намерения, я пытаюсь создать туннель между (2 устройствами Android) с SSH-сервером. Я не могу подключиться по SSH напрямую к мобильному устройству Android просто из-за проблемы с брандмауэром, поэтому мне приходится использовать автономный SSH-сервер в качестве посредника, помогающего передать соединение. Однако, если есть какие-либо другие лучшие варианты, пожалуйста, дайте мне знать, например, VPN или что-то, что может не потреблять много энергии аккумулятора на наших мобильных устройствах через 3g/wifi.

подойдут любые другие варианты, но, пожалуйста, учитывайте проблемы с 3g/wifi/брандмауэром/потреблением батареи/накладными расходами данных. Я не уверен, как с этим справится основное мобильное приложение, поэтому приветствуются любые новые идеи или методы.

заранее спасибо


person Bigs    schedule 14.07.2014    source источник
comment
Что не работает? Вы не говорите, в чем проблема с использованием командной строки.   -  person carlpett    schedule 14.07.2014
comment
в основном после инициализации этих основных команд туннель, похоже, не устанавливается так же, как в графическом интерфейсе. так что в основном, если я нахожусь на 2-м или 3-м устройстве, он не может видеть порт 9191 с устройства № 1.   -  person Bigs    schedule 14.07.2014
comment
Я не понимаю вашу схему (устройство) ‹--› (сервер) ‹--› (устройство). На каком компьютере вы находитесь? К какому компьютеру вы хотите подключиться по SSH? К какому компьютеру вы хотите подключить туннель?   -  person Kenster    schedule 14.07.2014
comment
В основном обратный туннель на устройстве № 1 используется совместно с устройством № 3. Но устройство № 2 сервер — это просто посредник, выступающий в роли ssh-сервера, плюс помощь в передаче данных туннеля.   -  person Bigs    schedule 14.07.2014
comment
Итак, ssh вызывается на сервере 1, подключаясь к серверу 2? Вы хотите туннель от 1 до 3 или от 2 до 1?   -  person Kenster    schedule 15.07.2014
comment
устройство 1 подключается к (ssh-серверу) и передает свой порт 80 на порт 9191 на сервер, затем сервер ретранслирует порт 9191 на устройство №3. Чтобы прояснить свои намерения, я пытаюсь создать туннель между (2 устройствами Android) с SSH-сервером. Я не могу использовать SSH напрямую на мобильном устройстве Android просто из-за проблемы с брандмауэром, поэтому мне приходится использовать автономный SSH-сервер в качестве посредника, помогающего передать соединение. Однако, если есть какие-либо другие лучшие варианты, пожалуйста, дайте мне знать, например, VPN или что-то, что может не потреблять много энергии аккумулятора на наших мобильных устройствах через 3g/wifi.   -  person Bigs    schedule 15.07.2014
comment
от №1 до №3, но №2 — SSH-сервер посредника   -  person Bigs    schedule 15.07.2014


Ответы (2)


Как я понял из комментариев, вы находитесь на устройстве 1 (Android A) и пытаетесь связаться с устройством 3 (Android B) через устройство 2 (хост SSH).

Попробуйте это на Android A:

ssh -L 9191:android_b:9191 root@ssh_host

На Android Б:

ssh -L 9191:android_a:80 root@ssh_host

Или также из Android A:

ssh -R 9191:android_a:80 root@ssh_host

Это должно обслуживать порт 80 Android A на порту 9191 Android B, а тот — на порту 9191 Android A.

person Cees Timmerman    schedule 28.10.2014

На устройстве А

ssh -R 9191:127.0.0.1:80 user@RemoteHost

На устройстве Б

ssh -L 9191:127.0.0.1:9191 user@RemoteHost
person Ryu_hayabusa    schedule 18.09.2015