7

Есть ли способ, которым я могу подключить домашние компьютеры (Linux) с офисного компьютера (windows), используя шпаклевку. Если да, пожалуйста, скажите мне, как установить соединение.

3 ответа3

7

Более простой способ настроить домашний маршрутизатор для разрешения входящего соединения с домашним ПК (под управлением Linux) - это установить DMZ на ваш компьютер.

Итак, как некоторые люди упоминали (также резюмировать):

  1. Войдите в свой роутер дома и установите DMZ на свой локальный адрес ПК (сейчас мы предполагаем, что IP-адрес вашего Linux-ПК равен 192.168.1.5)
  2. Установите openssh-сервер на свой Linux-компьютер, и не забудьте протестировать его (просто с помощью ssh 192.168.1.5 просто для проверки того, что вы можете установить ssh на только что установленный openssh-сервер)
  3. Вам нужно знать свой IP-адрес в глобальной сети (IP-адрес, который известен всему миру, когда вы подключаетесь извне за пределами вашей внутренней сети). А пока давайте предположим, что это 8.8.8.8 (обратите внимание, что это на самом деле Google DNS, но я использую его для этого примера)
  4. Подключайтесь со своей работы (или с любого другого компьютера, подключенного к Интернету), используя PuTTY или SSH для подключения к порту 8.8.8.8 22. Если вы используете PuTTY (из вашего офиса), он должен подключиться и запросить ваше имя пользователя / пароль для входа в вашу Linux-коробку.
  5. Проверьте ваш Linux Box Firewall и убедитесь, что он позволяет SSH

Несколько возможных проблем:

  • 3 выше о вашем WAN IP. Если у вас есть статический IP - скорее всего, он должен работать сразу. Но если это не так, прочитайте.

  • 3 выше о вашем WAN IP. В большинстве домов используется динамический IP-адрес, когда вы хотите, чтобы в игру вступила служба DDNS (динамический DNS). DDNS позволяет вам создать имя (mypc.ddns.com или что-то в этом роде), и ваш ПК будет периодически сообщать DDNS, что у вас есть новый WAN IP.

  • Ваш Linux Box имеет свой собственный брандмауэр и блокирующее соединение - я предполагаю, что вы знаете, как изменить этот параметр
  • Ваш маршрутизатор имеет свой собственный брандмауэр и блокирующее соединение - вы можете создать исключение. Но настройка DMZ должна отменять блокировку брандмауэра на вашем маршрутизаторе и проходить через все неизвестные соединения с вашим компьютером linux (или любым другим установленным DMZ).
  • Ваш провайдер блокирует входящий порт 22 ... это когда ты несколько чучела. Но есть обходной путь. Ваш маршрутизатор должен разрешить переадресацию портов. Используйте нестандартный порт (наберите номер ... скажем, 12222, который, надеюсь, не заблокирован вашим провайдером), а затем установите переадресацию портов с порта 12222 на порт 22 - все это делается на вашем маршрутизаторе.

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

Надеюсь это поможет.

2

Пожалуйста, будьте осторожны при выполнении этой работы. ИТ-безопасности может не понравится. Будьте очень осторожны, что это в рамках политики компании.

Цитирую страницу 83 о мастерстве Майкла Лукаса по SSH, https://www.tiltedwindmillpress.com/ $ 9.99

Однако предположим, что мой рабочий стол находится в сети с высоким уровнем безопасности. Брандмауэр строго ограничивает просмотр веб-страниц и блокирует все передачи файлов. Если бы я мог использовать SSH для подключения к серверу вне сети, я мог бы перенаправить трафик моего рабочего стола на этот внешний сервер, чтобы получить неограниченный доступ к Интернету. Я мог загружать конфиденциальные документы по SSH, и журналы брандмауэра показывали бы только то, что я сделал SSH-соединение.

Туннели против политики безопасности

Если вы являетесь сотрудником службы безопасности организации, переадресация портов может заставить вас полностью заблокировать SSH. Я понимаю. У меня была твоя работа. Вы также должны знать, что непокорный пользователь может туннелировать SSH внутри DNS, HTTP или почти любой другой службы или протокола. Единственный способ полностью заблокировать SSH - запретить все соединения TCP или UDP изнутри вашей сети во внешний мир, использовать веб-прокси, который интеллектуально проверяет трафик, и не разрешать вашим клиентам доступ к общедоступным DNS даже через прокси.

То, что вы пытаетесь, возможно, возможно. Большинство брандмауэров компании оставляют порт 80 открытым и другие порты. В командной строке в Windows выполните netstat -n и вы получите список внутренних адресов с открытыми портами, например

Active Connections

Proto  Local Address          Foreign Address        State

TCP    10.96.144.75:49242     10.96.144.4:445        ESTABLISHED
 :
 :
2

Есть три варианта, которые я знаю

Перенаправление порта

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

  • Это предполагает, что вы знаете свой внешний IP-адрес.

Для каждого устройства вы можете назначить произвольный внешний порт, который перенаправляет это устройство на порт 22. (Или вы можете сделать это для одного устройства, а затем подключиться к другим через него)

VPN

Если бы вы сделали VPN с вашей локальной сетью, а затем подключились к указанной VPN, это дало бы вам доступ ко всему, что есть в сети.

Обратный SSH

С обратным SSH вы используете внешний сервер и настраиваете прослушивание ssh-сессии. Затем на внешнем сервере вы можете подключиться к устройству за маршрутизатором, не беспокоясь о брандмауэрах / переадресации портов / и т.д ... Это то, что я предпочитаю (так как я еще не настроил VPN), но у меня есть доступ к внешнему серверу.

Вы можете сделать это с:
Устройство в домашней сети ssh -f -N -R 1234:localhost:22 remote_user@remote.server.example

  • Где 1234 - это порт, который удаленный будет использовать для пересылки на устройство
  • remote.server.example - это адрес удаленного

Затем на удаленном сервере ssh -p 1234 -t device_user@localhost

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