2

У меня такой же, как этот вопрос SSH туннель через два сервера для доступа к веб-сервису через порт 9091 (в основном потому, что я задал этот вопрос).

Но теперь разница в том, что я обращаюсь к нему с Chromebook, который не может использовать ProxyCommand . Все, что он получил, - это базовая оболочка NaCl, работающая в изолированной вкладке Chrome.

Итак, обзор из моего предыдущего вопроса:

Я получил 3 машины:

  • remotePi ( Raspberry PI, где-то в мире)
  • localPi (еще один Raspberry PI, в моей локальной сети, у меня есть полный доступ к нему, в том числе root, без монитора, без kb, работает как безголовый сервер)
  • Chromebook (моя локальная машина, которая является Chromebook в той же локальной сети, что и localPi , ограничена, но имеет SSH согласно ссылкам выше).

remotePi есть постоянный туннель SSH к localPi , он делает это, вызывая следующую команду

ssh -N -R 16864:localhost:22 -p 2222 <user_on_lan>@<external_lan_ip>

Я могу получить доступ к терминалу remotePi , выполнив

Chromebook> ssh <user_on_localPi>@<localPI_ip>
localPi> ssh -l <user_on_remotePi> -p 16846 localhost

И в remotePi меня есть служба демона (веб-интерфейс) прослушивания на 9091 .

"рисунок" всего:

                                   16864:tunnel:22   9091:service
Chromebook <--local_net--> localPi  <--internet-->  remotePi

Итак, что мне нужно, это:

Чтобы получить доступ к веб-интерфейсу службы демонов в remotePi, позвоните в браузер Chromebook 127.0.0.1:9091/web/

На моем предыдущем компьютере (показанном на связанном вопросе, ноутбук с Ubuntu) я делал это с помощью ProxyCommand в моей конфигурации и вызывал ssh -L9091:localhost:9091 user_on_remotePi@remotePi -N , но теперь я на Chromebook, который может ' Я использую это, и я считаю, что должен быть способ сделать это в любом случае.

Поэтому мне было интересно узнать о 2 возможных решениях:

  1. какая-то очень умная и длинная команда SSH, которая "заменит" то, что делала ProxyCommand . Я всегда вижу это в уроках, подобных этой ССЫЛКЕ, но это всегда зависит от имени хоста, у меня есть только порт 16864 для подключения.

  2. (предпочтительно) добавьте немного магии в конфигурацию localPi SSH, которая заставит его прослушивать какой-то нестандартный порт (скажем, 2222) и автоматически перенаправить это соединение на user_on_remotePi:localhost:16864 . Итак, когда я звоню из Chromebook ssh user_on_localPI -p 2222 localPi_ip , то localPi перенаправит его нужному пользователю прямо на remotePi.

Как вы можете заметить, я немного новичок в сети, мой основной опыт в разработке приложений, поэтому за любую помощь здесь я буду чрезвычайно благодарен.

Есть идеи?

1 ответ1

1

мы попали туда в чате

LocalPi>ssh -L *:5678:127.0.0.1:9091  remoteuser@127.0.0.1 -p 16864

затем на Chromebook, http://localpi_IP:5678

Таким образом, удаленный пи сделал SSH -R, создавая порт 16864 в локальной сети.

Он уже смог получить терминал для своего малинового пи, выполнив localpi>ssh remoteuser@127.0.0.1 -p 16864 Мы добавили -L, чтобы открыть порт 5678 на его localpi, чтобы он мог затем подключиться с устройства, например, Chromebook, к его localpi, который идет к его remotepi, который пересылает на веб-сервер на себя / его удаленный пи.

Итак, всего есть две команды ssh. Тот, от его удаленного пи до его localpi. И один из его localpi к его remotepi.

Мы только что изменили второй, от его localpi до его remotepi. Для туннелирования на веб-сервер на своем удаленном пи.

Это на самом деле туннелирование через туннель.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .