
У меня есть компьютер 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