Вопрос или проблема
Я имею несколько удаленных серверов Ubuntu, к которым у меня нет физического доступа. Я хочу подключиться по SSH, но все они говорят, что состояние отфильтровано на порту 22. У меня есть только их IP-адрес, я использую команду SSH, чтобы подключиться к ним, но это невозможно, потому что их порт 22 отфильтрован. Как мне получить доступ к серверам или сбросить отфильтрованный порт, чтобы открыть его? Или есть идеи.
Похоже, что ваш брандмауэр блокирует это. Попробуйте следующее:
sudo ufw status
sudo ufw allow ssh
Проверьте:
sudo ufw app list
Или если у вас настроен пользовательский порт для SSH, отличный от стандартного порта 22, замените 57325 на ваш:
sudo ufw allow 57325/tcp
Вы можете полностью отключить брандмауэр, что небезопасно:
sudo ufw disable
Ответ или решение
Доступ к удалённому серверу по SSH при фильтрации порта
Доступ к удалённому серверу через SSH является одной из основных задач для системных администраторов и IT-специалистов. Ошибки при подключении, такие как "состояние отфильтровано" на порту 22, могут означать, что на сервере активированы правила файрвола, которые блокируют доступ. Рассмотрим различные решения для этой ситуации.
Понимание проблемы
-
Фильтрация соединений: Основная причина, по которой вы видите сообщение о фильтрации порта 22, заключается в том, что файрволл (например, UFW на Ubuntu) активен и блокирует входящие соединения на стандартный SSH-порт. Наиболее распространённый сценарий — это либо локальный файрвол на самом сервере, либо более крупный сетевой файрвол или политика безопасности на уровне хостинга.
-
Отсутствие физического доступа: Поскольку у вас нет физического доступа к серверу, изменения на уровне оборудования невозможно.
Шаги для доступа к серверу
Для восстановления доступа к серверу с заблокированным портом SSH следует рассмотреть несколько вариантов.
1. Использование альтернативных методов подключения
- VPN: Если на сервере настроен VPN, подключитесь через него. Это обеспечит защищённое соединение и обойдёт правила фильтрации.
- Прокси-сервер: Если доступен прокси, вы можете перенаправить трафик SSH через него. Убедитесь, что прокси настроен на пропуск SSH-трафика.
2. Проверка конфигурации файрвола
Если у вас есть возможность запустить команды на сервере через консоль управления хостингом или другие средства, выполните следующие действия:
-
Проверка состояния UFW:
sudo ufw status verbose
-
Разрешение входящих соединений для SSH:
Если UFW активен и блокирует SSH, выполните следующую команду:sudo ufw allow ssh
Если вы используете нестандартный порт (например, 2222), выполните:
sudo ufw allow 2222/tcp
-
Проверка активных правил:
Убедитесь, что правило для SSH действительно добавлено:sudo ufw app list
3. Отключение или изменение настроек файрвола
Если доступ к серверу критически важен, временное отключение файрвола может помочь, хотя это и небезопасно:
sudo ufw disable
Если это возможно, лучше всего изменить настройки так, чтобы они позволяли трафик на порт 22, а не полностью отключать безопасность.
4. Связь с хостингом
Если никакое из предложенных решений не работает, свяжитесь с провайдером хостинга. Они могут помочь вам с доступом к вашему серверу или предложить восстановить настройки сети.
Заключение
Доступ к серверу по SSH при фильтрации порта может быть вызван различными факторами, включая настройки файрвола и сетевые ограничения. Применение различных методов, таких как соединение через VPN или прокси, может обойти эти ограничения. Если у вас есть доступ к консоли управления, проверьте настройки UFW и при необходимости измените их. В критических ситуациях всегда полезно обратиться за поддержкой к вашему провайдеру хостинга.