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

Как включить 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, но снова истекло время ожидания.

Что я упускаю?

решение1

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

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

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

Это можно сделать, выполнив:

systemctl stop iptables

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

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

Связанный контент