Назад | Перейти на главную страницу

Ssh подключение к статическому ip

У меня есть статический IP-адрес на VPN-маршрутизаторе Planet VRT-311S и порт 22 (UDP и TCP), перенаправленный на сервер Ubuntu в локальной сети. Я все еще не могу подключиться к серверу Ubuntu.

В настоящее время я использую следующую команду на внешнем компьютере:

ssh -p 22 <router's ip address>

Я все еще не могу подключиться к серверу Ubuntu. Как я могу решить эту проблему?

Устройство маршрутизации с общедоступным IP-адресом должно перенаправлять трафик порта 22 на сервер Ubuntu, который находится за брандмауэром. Если вы сообщите нам, что это за брандмауэр / граничное устройство, мы сможем указать вам более конкретное направление.

РЕДАКТИРОВАТЬ: Вам нужно будет убедиться, что трафик действительно отправляется на ваш сервер Ubuntu. Запустите tcpdump чтобы узнать, попадает ли SSH-трафик на ваш сервер. Если это не так, проблема с граничным маршрутизатором все еще существует. Если это так, то вы можете сосредоточиться на сервере Ubuntu. Как только вы это поймете, мы сможем вам больше помочь.

РЕДАКТИРОВАТЬ 2: Если вы настроили переадресацию порта для порта 22, маршрутизатор обрабатывает перевод всего трафика, привязанного к порту 22, на общедоступный IP-адрес и немедленно отправляет трафик на сервер Ubuntu. Затем сервер Ubuntu видит трафик, поступающий от маршрутизатора, и любые ответы на трафик порта 22 отправляются на маршрутизатор, который затем пересылает его вам. Маршрутизатор обрабатывает всю трансляцию трафика, поддерживая таблицу с указанием того, кто к какому порту обращается, и назначая уникальные сеансы каждому коммуниканту. Таким образом, даже несколько человек могут общаться с сервером Ubuntu через ssh, используя внешний IP-адрес.

Например: если у вас дома есть внешний IP-адрес 1.1.1.1, а ваш офисный маршрутизатор имеет внешний IP-адрес 2.2.2.2, а сервер Ubuntu имеет локальный IP-адрес 192.168.1.10 (за маршрутизатором 2.2.2.2), трафик идет так:

  • 1.1.1.1 подключается к 2.2.2.2:22
  • 2.2.2.2:22 перенаправляется на 192.168.1.10:22.
  • 192.168.1.10:22 отвечает маршрутизатору на 2.2.2.2:22 (ну, на самом деле он отвечает на локальный IP-адрес маршрутизатора, а не на общедоступный IP-адрес. В этом примере это, вероятно, будет 192.168.1.1:22. )
  • Затем маршрутизатор пересылает информацию обратно на общедоступный IP-адрес вашего дома 1.1.1.1.

tdpdump здесь может оказаться излишним. Просто сделать telnet <yourip> 22 извне и telnet localhost 22 на вашем сервере ubuntu. Сервер Ssh должен немедленно ответить чем-то вроде «SSH-2.0-OpenSSH_5.8p1-hpn13v10».

Если telnet от localhost не работает, у вас проблемы с вашим ssh-сервером. Если Telnet от localhost работает, но не извне, это, вероятно, проблема, связанная с маршрутизатором. Если оба работают, это может быть проблема с вашим ssh-клиентом.

И еще одна догадка: проверьте правила вашего брандмауэра на сервере. Вы можете распечатать их, запустив /sbin/iptables -L.

Обновите свой ответ результатами диагностики telnet и списком правил вашего брандмауэра, чтобы мы могли дать вам лучший совет.