Как сменить порт SSH в Ubuntu, Debian и AlmaLinux

Переносим SSH с порта 22, открываем новый порт в брандмауэре и SELinux, учитываем systemd-сокет в Ubuntu 24.04 и проверяем, что ничего не сломалось.

5 ноября 2026 г.·1 мин чтения·ssh, ufw, selinux

Порт 22 — первое, что проверяет любой сканер. Перенос SSH на другой порт не делает сервер безопаснее сам по себе (сканеры умеют перебирать порты), но убирает из журналов 99% шума и снижает нагрузку от ботов. Это дополнение к входу по ключу, а не замена.

Не закрывайте текущую сессию, пока в отдельном окне не заработал вход по новому порту.

1. Выберите порт

Любое свободное число от 1024 до 65535. В примерах ниже 2222, но лучше взять что-то менее очевидное, например 48222. Запишите его.

2. Откройте порт в брандмауэре

UFW (Ubuntu, Debian):

sudo ufw allow 2222/tcp

firewalld (AlmaLinux, Rocky, CentOS) — здесь обязательно ещё и SELinux, иначе sshd не сможет слушать нестандартный порт:

sudo firewall-cmd --permanent --add-port=2222/tcp
sudo firewall-cmd --reload
sudo dnf install -y policycoreutils-python-utils
sudo semanage port -a -t ssh_port_t -p tcp 2222

3. Укажите порт в конфиге SSH

Если делали статью про ключи, файл 00-hardening.conf уже есть, просто добавьте строку. Если нет — создайте:

sudo nano /etc/ssh/sshd_config.d/00-hardening.conf
Port 2222

Проверьте синтаксис: sudo sshd -t (тишина = порядок).

4. Перезапустите SSH

В Ubuntu 24.04 и новее SSH запускается через systemd-сокет, и обычного перезапуска службы недостаточно: сокет продолжит слушать 22. Нужно перезапустить и его:

sudo systemctl daemon-reload
sudo systemctl restart ssh.socket
sudo systemctl restart ssh

Ubuntu 22.04 и Debian:

sudo systemctl restart ssh

AlmaLinux и семейство RHEL:

sudo systemctl restart sshd

Убедитесь, что sshd слушает новый порт:

sudo ss -tlnp | grep sshd

5. Подключитесь по новому порту

В новом окне на своём компьютере:

ssh -p 2222 admin@IP_СЕРВЕРА

В ~/.ssh/config порт задаётся строкой Port 2222, в Termius и PuTTY — отдельным полем.

6. Закройте старый порт

Только после успешного входа по новому.

UFW:

sudo ufw delete allow 22/tcp
sudo ufw status

firewalld:

sudo firewall-cmd --permanent --remove-service=ssh
sudo firewall-cmd --reload

Если стоит fail2ban, укажите новый порт в его настройках (port = 2222 в jail.local), иначе баны не сработают.

Если доступ пропал

Через консоль в кабинете tanaka.host удалите строку Port из 00-hardening.conf и перезапустите SSH. На Ubuntu 24.04 — вместе с ssh.socket.