Вопрос или проблема
Сегодня я сделал чистую установку ubuntu 24.04, которую затем обновил до 24.10.
Я установил wireguard, добавил свой SSH-ключ и затем попытался изменить SSH-порт.
Почитав эту статью, я узнал, что новый способ редактирования порта выглядит следующим образом:
sudo nano /etc/ssh/sshd_config.d/10-custom-ssh.conf
Там добавлено следующее содержимое (порт изменен по соображениям безопасности):
Port 54265
Я также добавил конфигурацию sshd следующим образом:
sudo systemctl edit ssh.socket
с следующим содержимым:
[Socket]
ListenStream=
ListenStream=54265
Затем я использовал эти команды для перезапуска сервисов:
systemctl restart ssh
systemctl restart ssh.socket
После этого я перезагрузил сервер. Но теперь я не смог войти больше:
Я всегда получаю ошибку Connection refused
.
Я получаю ошибку на порту 22 (как и ожидалось), но также и на порту 54265. У меня нет включенного файрвола.
Как только я отменяю эти изменения через систему аварийного восстановления, я снова могу войти.
Знает ли кто-нибудь, что изменилось с 24.04 до 24.10 по этому поводу и как я могу это исправить? Спасибо!
Ответ или решение
Изменение порта SSH в Ubuntu 24.10: решение проблемы с подключением
В данном руководстве мы рассмотрим проблемы, с которыми столкнулись пользователи при изменении стандартного порта SSH на Ubuntu 24.10, а также опишем шаги для их исправления. Вы уже провели чистую установку Ubuntu 24.04 и обновили до 24.10, установили WireGuard и добавили SSH-ключ, но возникла сложность с подключением после изменения порта SSH.
1. Введение
После выполнения указанных действий, вы пытались изменить порт SSH для повышения безопасности, следуя статье по изменению конфигурации SSH. Ваши шаги по редактированию файла конфигурации и перезапуску служб кажутся корректными, однако вы столкнулись с ошибкой «Connection refused» на новом порту 54265, а также на порту 22.
2. Шаги, предпринятые для изменения порта SSH
Вы пробовали изменить порт SSH, редактируя файл /etc/ssh/sshd_config.d/10-custom-ssh.conf
, добавляя строку Port 54265
, и настраивая сокет SSH через команду sudo systemctl edit ssh.socket
, добавляя ListenStream=54265
. После этого вы перезапустили службы SSH с помощью команд:
systemctl restart ssh
systemctl restart ssh.socket
И, наконец, перезапустили сервер, что, как вы заметили, привело к потере доступа.
3. Возможные причины проблемы
Есть несколько возможных причин, по которым подключение не работает после изменений:
-
Необходимость использования параметра
Global
: Убедитесь, что вы не пропустили параметрGlobal
в конфигурационном файле, который может быть необходим для некоторых версий SSH в Ubuntu 24.10. Проверьте, чтобы настроенный порт включал в себя определениеGlobal
, если это требуется в вашей версии. -
Проблемы с сокетами: Параметры конфигурации сокетов могут конфликтовать с настройками вашего SSH. Убедитесь, что
ListenStream=54265
действительно применяется, проверив статусы сокетов командой:systemctl status ssh.socket
Это должно показать активные порты, на которых слушает SSH.
-
Конфликты с другими сервисами: Убедитесь, что никакие другие службы не используют данный порт. Вы можете проверить это с помощью команды
sudo lsof -i -P -n | grep LISTEN
, что покажет все сервисы, прослушивающие порты. -
Актуальность конфигурации: Иногда изменения в файле конфигурации могут не вступить в силу, если есть другие конфигурационные файлы, переопределяющие установленные параметры. Проверьте папку
/etc/ssh/sshd_config.d/
на наличие других файлов, которые могут воздействовать на выбор порта.
4. Решение проблемы
-
Проверьте конфигурацию SSH: Убедитесь, что файл конфигурации не содержит синтаксических ошибок. Для тестирования конфигурации используйте:
sudo sshd -t
Это даст вам информацию о любых ошибках в конфигурации.
-
Откат до стандартного порта: Чтобы убедиться, что проблема именно в изменении порта, временно вернитесь к стандартному порту 22, и проверьте возможность подключения.
-
Перезапустите службу: Убедитесь, что вы корректно перезапустили службу после внесения всех изменений.
-
Используйте логирование для диагностики: Если все вышеперечисленное не помогло, включите более подробное логирование SSH. Для этого измените параметр
LogLevel
вsshd_config
наDEBUG
, чтобы получить больше информации о неудачных попытках подключения. -
Проверка сетевых настроек: Хотя вы указали, что у вас нет активированного фаервола, убедитесь, что ваш сетевой конфигурационный файл не содержит правил, блокирующих ваш новый порт.
5. Завершение
Изменение порта SSH в Ubuntu может быть не таким простым, как это кажется на первый взгляд, особенно с учетом изменений в новых версиях операционной системы. Следуя вышеуказанным рекомендациям, вы сможете выявить и разрешить проблему с подключением на новом порту. Обязательно ведите резервные копии конфигурационных файлов перед чрезмерными изменениями, чтобы всегда иметь возможность вернуться к рабочему состоянию.
Если после выполнения всех шагов проблема останется, рассмотрите возможность обращения на форумы Ubuntu или к профессиональным услугам для детального анализа вашей ситуации.