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

Как включить доступ по SSH с сервера за пределами моей сети?

У меня есть компьютер A (CentOS 7) в моей локальной сети и веб-сайт B, размещенный за пределами моей локальной сети. Мне нужно включить SSH-доступ от B к A (я собираюсь использовать phpseclib для передачи файлов между ними). Я настроил A на статический IP-адрес 192.168.0.201.

Я попытался использовать интерфейс конфигурации моего маршрутизатора, чтобы превратить A в виртуальный сервер, как показано ниже: Конфигурация виртуального сервера. Мое намерение состоит в том, чтобы, когда я использую SSH на свой общедоступный IP-адрес и один конкретный порт, перенаправляться на компьютер A.

Затем я попытался использовать PuTTy с другого компьютера в моей локальной сети для подключения к A, используя мой общедоступный IP-адрес и порт 21, но время ожидания истекло. Я не был уверен в протоколе и порте, поэтому я также попытался настроить тип службы виртуального сервера как SSH и порт 22, но снова истекло время ожидания.

Что мне не хватает?

Прежде всего, вам нужен порт 22, так как это порт SSH, и похоже, что вы правильно настроили свой маршрутизатор. Порт 21 - это порт протокола FTP по умолчанию.

Затем я бы проверил статус iptables на вашем сервере centos, так как по умолчанию он включен и блокирует все входящие соединения.

Просто для проверки я отключил службу и попробовал подключиться заново.

Вы делаете это, запустив:

systemctl stop iptables

Если вы видите, что теперь вы можете подключиться извне, перезапустите iptables и установите правило для открытия порта 22, например, так:

iptables -A INPUT -i NIC_NAME -p tcp —dport 22 -j ACCEPT