У меня есть CentOS vm на работе, где я могу использовать SSH локально, используя локальный IP-адрес, но когда я нахожусь вне офиса, я не могу использовать SSH, используя его внешний IP-адрес. Это использует OpenSSH. У меня такое ощущение, что это блокируется на уровне сети, потому что я получаю сообщение об отказе в соединении при попытке подключиться к порту 22 внешнего IP. Я не был тем, кто изначально настроил виртуальную машину. Может ли быть что-то еще на сервере, который вызывает это? Есть ли что-нибудь еще, что я могу проверить?
2 ответа
Если вы можете использовать его локально, тогда SSHd работает, и это нормально.
Скорее всего, вам нужно сделать перенаправление порта 22 (или другого неиспользуемого порта) с маршрутизатора / шлюза, который обслуживает вашу офисную сеть, на порт 22 виртуальной машины, к которой вы хотите подключиться. Это, скорее всего, отсутствует. (таким образом, перенаправление с внешнего IP:22 или даже другого порта на VM_IP:22)
Вероятная проблема заключается в том, что правило переадресации портов либо указано неправильно, либо отсутствует. Убедитесь в правильности следующего:
sudo vi /etc/ssh/sshd_config
- укажите, какой порт вы хотите использовать здесь- Введите свой маршрутизатор и направьте указанный порт на внутренний IP-адрес вашей системы. Вы можете получить этот IP через
ifconfig
.
Если это не проблема, безопасность вашей сети может блокировать это как часть их стандартных правил, и в этом случае обратитесь к системному администратору.