1

Я хотел бы связаться с моим локальным веб-сервером http://192.168.0.186:3000 когда меня нет дома. Я не хочу публиковать его в Интернете, потому что я не думаю, что это безопасно, если вы не являетесь экспертом в обслуживании и безопасности. Однажды я сделал это с сервером Apache, использующим dyndns, и в тот же день журналы были полны попыток хакеров. Я понял, что что-то не так, когда получил сообщение от операционной системы, что C:/ заполнен.

Я подумал об использовании SSH-туннеля. Поэтому я предполагаю, что мне нужен SSH-сервер, работающий на локальной машине. У меня уже есть один: 192.168.0.186:22 . Я использую для соединения с ssh root@192.168.0.186 из git bash. Полагаю, мне нужно открыть порт 22 на межсетевом экране маршрутизатора, чтобы я мог подключиться к серверу SSH через Интернет.

На клиентских машинах у меня Windows 7, Windows 8.1 и Fedora 23 в настоящее время. В Windows я бы хотел использовать git bash или что-то подобное вместо putty, если это возможно. Я хотел бы запускать все, что связано с этим, в фоновом режиме, поэтому запуск замазки каждый раз, когда я хочу подключиться к домашнему серверу, не подходит. Я могу написать простой фоновый сервис для клиентов, если это необходимо.

Мои вопросы:

  1. Как настроить SSH-сервер для пересылки HTTP-запросов на локальный веб-сервер?
  2. Как настроить браузер на использование SSH-сервера для подключения к локальному веб-серверу?
  3. Чтобы сделать это более безопасным, я должен создать нового пользователя Linux на 192.168.0.186 с ограниченными разрешениями, посвященными этой ответственности?

1 ответ1

1

Посмотрите на пересылку SSH Посмотрите на переадресацию локального порта на ssh.

ssh -L 3000:internalip:3000 ext.home.ip.addr

Это откроет локальный порт 3000, который отображается на ваш сервер на 3000. Вы получаете доступ к нему, перейдя по адресу http://localhost:3000 на машине, которая инициировала соединение ssh

Вам также нужно будет выполнить переадресацию портов на маршрутизаторе, чтобы сопоставить внешний IP-адрес с внутренним IP-адресом для порта 22, и, вероятно, опубликовать его с использованием динамического DNS. К сожалению, это приводит к открытию SSH для всего мира и нежелательно. Это также не поможет вам на коробках с замазкой (но вы можете сделать что-то подобное с замазкой)

Хотя, если бы я делал это, я бы настроил систему OpenVPN на своем домашнем маршрутизаторе, а затем использовал бы OpenVPN для подключения внешних систем к локальной сети - это защищает трафик порта 22 и не требует использования SSH. Его также намного проще автоматизировать, и для большинства ОС есть клиенты OpenVPN.

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