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