5

У меня есть интересный вопрос относительно SSH. У меня в школе есть машина, к которой я хотел бы получить доступ из других мест. Это за брандмауэром /NAT, поэтому я не могу получить к нему напрямую. У меня есть арендованный веб-сервер, на котором я могу использовать SSH из любого места. Мне было интересно, смогу ли я сделать какое-нибудь вуду с переадресацией портов, чтобы добраться до моей машины в школе через веб-сервер. Я думаю, что это сводится к тому, можете ли вы делать SSH «задом наперед», что может быть или не быть возможным.

В принципе:
Машина A может получить доступ к машине B
Машина C также может получить доступ к машине B
Как может машина A получить доступ к машине C?

2 ответа2

5

Что касается "обратного" SSH, то есть Reverse Remote Shell, который я использовал некоторое время в аналогичной ситуации.

Но здесь некоторые вещи должны быть разъяснены в первую очередь:

  1. Какой доступ вам нужен? Мы говорим только о SSH или вы имели в виду что-то еще?
  2. Что насчет этого веб-сервера (B)? Может ли он получить доступ к пункту назначения (C) напрямую без проблем (что невозможно из A)? Или это только проблема неизвестного / динамического IP-адреса исходного компьютера (A)?

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

ОБНОВИТЬ:

В этом случае вы можете использовать Reverse Remote Shell для подключения из C (школа) к B (учетная запись SSH). Затем, войдя из A (дома) в B по SSH, вы получаете доступ к C обратной консоли. Плюс этого в том, что он должен работать практически на любой конфигурации.

Основные недостатки:

  1. Это только SSH плюс то, что вы можете делать, когда у вас есть локальный доступ к C.
  2. Вы безоговорочно доверяете B (что ваша сессия не будет украдена).

Это немного громоздко. Для этого было бы намного проще использовать переадресацию портов SSH , но это иногда блокируется университетами / школами (по крайней мере, из моего опыта). Пожалуйста, посмотрите, можете ли вы использовать его в вашей ситуации. Тогда должно быть возможно более простое и элегантное решение.

2

Да, вы можете осуществлять переадресацию портов, используя SSH, чтобы получить доступ к вашему компьютеру в школе. Что вам нужно сделать, это:

  1. С машины в школе вы вводите следующую команду:

    ssh -R port_on_server:localhost:local_port user @ server

  2. Из машины в домашних условиях вы делаете:

    ssh -L local_port:locahost:port_on_server user @ server

Теперь вы можете получить доступ к своему local_port на своем домашнем компьютере и перенаправить на local_port на компьютере в школе. Например, если local_port равен 80, вы сможете набрать http://localhost/ в своем веб-браузере и получить доступ к веб-серверу, работающему на компьютере в школе.

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