
Secure Shell (SSH) необходим для работы разработчиков и системных администраторов. Это протокол, который позволяет пользователям безопасно получать доступ к удаленным серверам и управлять ими. С готовой конфигурацией, SSH прослушивает только порт номер 22, что делает его восприимчивым к попыткам несанкционированного доступа и атакам методом грубой силы.
Поэтому многие пользователи хотели бы изменить порт SSH на Ubuntu на какой-нибудь нестандартный порт, чтобы повысить безопасность сервера и уменьшить подверженность этим автоматическим угрозам.
В этой статье мы рассмотрим основные шаги, которые помогут вам научиться как изменить порт SSH на Ubuntu 24.04 или 22.04. Процесс включает в себя изменение файла конфигурации SSH, обновление правил брандмауэра и тестирование соединения для обеспечения постоянного доступа к вашему серверу.
Предварительные условия: Root или Sudo Access для изменения конфигурации SSH и настроек брандмауэра.
Пошаговое руководство по изменению порта SSH на Ubuntu 24.04
Шаг 1: Обновление системы (необязательно)
При смене порта мы не требуем запуска команды обновления системы, однако если у вас еще не установлен SSH-сервер и вы хотите его получить, то вы можете воспользоваться приведенными командами:
sudo apt update sudo apt install openssh-server
Шаг 2: Резервное копирование файла конфигурации SSH
Перед внесением изменений рекомендуется создать резервную копию существующего файла конфигурации SSH-сервера. Таким образом, если что-то пойдет не так во время редактирования, пользователи смогут быстро восстановить исходную конфигурацию без ущерба для возможности доступа к удаленному серверу.
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup
Шаг 3: Откройте файл конфигурации SSH
Теперь откройте файл конфигурации SSH с помощью выбранного вами текстового редактора. Здесь мы используем Nano, доступный по умолчанию в системах Ubuntu.
sudo nano /etc/ssh/sshd_config
Шаг 4: Изменение порта SSH на Ubuntu 24.04 или 22.04
Открыв файл конфигурации SSH в терминале, найдите строку — #Port 22

Удалить # символ с начала строки и измените 22 порт на нужный порт, который вы хотите установить. Например, измените его на Порт 22 в порт 2222 чтобы установить порт SSH по умолчанию в Ubuntu 24.04 на 2222.

После этого сохраните файл, нажав Ctrl+X и Y подтвердить и Введите для сохранения и выхода из файла конфигурации SSH.
Примечание: Выберите номер порта между 1024 и 65535 во избежание конфликтов с стандартом услуги.
Шаг 5: Настройка правил брандмауэра
Вы должны обновить настройки активного брандмауэра, чтобы разрешить SSH-соединения на новом порту. На Ubuntu, ufw
(Uncomplicated Firewall) обычно используется.
sudo ufw allow 2222/tcp
Перезагрузите брандмауэр, чтобы применить новые правила:
sudo ufw reload
Примечание: Тем, кто использует серверы Ubuntu Linux у некоторых поставщиков услуг облачных вычислений, таких как GCP, AWS, Digitial Ocean и т. д., необходимо открыть порт 2222 или любой другой, установленный вами, в брандмауэре поставщика облачных услуг, а также отключить доступ к порту 22, чтобы никто не мог получить доступ к SSH с его помощью.
Шаг 6: Перезапустите службу SSH
Чтобы применить изменения, внесенные в файл конфигурации SSH, перезапустите службу SSH:
sudo systemctl restart ssh
Шаг 7: Проверьте работу службы SSH на новом порту
Чтобы убедиться, что служба SSH работает на новом порту, воспользуйтесь…
sudo ss -tuln | grep <new-port-number>
Заменить <new-port-number>
на указанный вами номер порта (например, 2222
). Вы должны увидеть результат, подтверждающий, что SSH прослушивает новый порт.
Наконец, откройте новый терминал или сеанс SSH и подключитесь к серверу, используя новый порт: Например, если наш новый порт 2222 то команда будет выглядеть следующим образом:
ssh username@your-server-ip -p 2222
Заменить username
на ваше настоящее имя пользователя и your-server-ip
с IP-адресом вашего сервера
Внимание: Не закрывайте существующие SSH-сессию, пока не убедитесь, что вы можете подключиться к новому порту.

Перезапуск службы SSH не применяет изменения
Если перезапуск службы SSH не приводит к изменению порта, то, скорее всего, это связано с systemd
активация сокетов переопределяет конфигурацию порта SSH. systemd
может иметь свой собственный ssh.socket
файл конфигурации, который может принудительно установить порт по умолчанию независимо от изменений в конфигурации SSH.
Вот как исправить это без перезагрузки системы:
Проверьте, не ssh.socket
активен: Выполните эту команду, чтобы проверить. ssh.socket
активен и, возможно, переопределяет конфигурацию SSH:
sudo systemctl status ssh.socket
Если он запущен, возможно, он блокирует SSH на порт 22.
Отключить ssh.socket
: Чтобы предотвратить systemd
от использования конфигурации сокетов по умолчанию, отключите ssh.socket
:
sudo systemctl disable ssh.socket
sudo systemctl stop ssh.socket
Перезапустите службу SSH: Теперь перезапустите службу SSH, чтобы применить изменения в конфигурации SSH:
sudo systemctl restart ssh
Убедитесь, что SSH прослушивается на новом порту: Используйте ss
или netstat
чтобы убедиться, что SSH-сервер теперь прослушивает указанный вами порт:
sudo ss -tuln | grep <new_port_number>
После отключения ssh.socket
, ваш конфигурационный файл SSH должен быть считан активным портом, что позволит вашим изменениям вступить в силу без полной перезагрузки системы.
Отключение SSH на порту 22 (необязательно)
После того как вы убедитесь, что новый порт работает, вы можете отключить SSH на порту 22 (если ранее он был разрешен в брандмауэре) для повышения безопасности:
sudo ufw delete allow 22/tcp