Среди провайдеров интернет-услуг принято блокировать большинство, если не все входящие порты для своих домашних абонентов, что делает невозможным удаленное подключение к домашнему компьютеру через HTTP, SSH, FTP и т. Д.
В этом уроке мы будем покрытия , как обойти эти ограничения , используя технику , называемую Rerverse SSH Tunneling
.
Примечание. В этом руководстве предполагается, что вы используете Ubuntu. Ожидается, что шаги будут работать для другого дистрибутива Linux.
Предпосылки:
- Экземпляр сервера Ubuntu.
- Клиент SSH на вашем локальном компьютере.
Шаг 1: Настройка демона SSH на вашем сервере:
По умолчанию демон SSH только просл��шивает 127.0.0.1
, поэтому мы не сможем получить доступ к нашим перенаправленным портам извне. Для прослушивания интерфейса, подключенного к Интернету, мы должны включить GatewayPorts
опцию в конфигурации SSH-сервера.
Откройте /etc/ssh/sshd_config
с помощью вашего любимого текстового редактора.
nano /etc/ssh/sshd_config
Затем добавьте GatewayPorts yes
внизу файла.
После сохранения файла перезапустите демон SSH:
service ssh restart
Шаг 2: Туннелирование:
Если ваш домашний компьютер работает под управлением Linux, вам нужно использовать ssh
команду следующим образом:
ssh -R [Port to forward to on your VPS]:localhost:[Port to forward on your local machine] [VPS IP]
Или, если вы установили Microsoft Windows на свой компьютер, вам нужно установить plink и подключиться, как показано ниже:
plink -R [Port to forward to on your VPS]:localhost:[Port to forward on your local machine] [VPS IP]
В этом примере мы перенаправляем порт, 19132
который открыт на вашем домашнем компьютере, на порт 80
вашего удаленного сервера (при условии, что IP-адрес вашего сервера равен 192.168.0.1).
ssh -R 80:localhost:19132 192.168.0.1
Это позволит вам получить доступ к вашему домашнему компьютеру из удаленного местоположения, подключившись к 192.168.0.1:80
.
На этом мы завершаем наш урок. Спасибо за чтение.