По умолчанию порт для SSH протокола - 22 порт. Боты сканируют его в числе остальных стандартных портов. Так как атака в большинстве случаев не является целенаправленной. Чтобы отсечь ненужный трафик и обезопасить сервер - заменим стандартный порт на свой.
Данный гайд написан для пользователей UFW файрволла, как базового для Ubuntu. Если вы пользуетесь другим, посмотрите статьюsystem-admins.
Шаги изменения SSH порта
Заменить 22 порт на новый в файле sshd_config
Внести новый порт в список разрешенных UFW.
Сделать рестарт sshd сервиса.
Заменим 22 порт на новый
Номер порта не должен превышать число 65535
Чаще всего файл ssh конфига находится по адресу /etc/ssh/sshd_config
Точное местоположение можно узнать командой find / -name "sshd_config"
Отредактируем его.
Как? Надо найти строку Port 22и если она закомментирована - удалить символ # , а так же вписать вместо порта 22 случайное число, к примеру 1234.
sudo nano /etc/ssh/sshd_config
После внесения изменений сохраняем и выходим из файла ctrl+x --> y --> Enter
Внести новый порт в список разрешенных для UFW
sudo ufw allow 1234/tcp
sudo ufw deny 22
Если не обновить разрешения брендмауэра, то после перезагрузки сервиса sshd мы потеряем доступ к серверу по SSH протоколу.
Если вы все таки потеряли возможность войти по SSH соединению, то всегда остается два решения:
Войти на сервер через консоль из личного кабинета провайдера. Проверено на Vultr/Digital Ocean.
Получить доступ к серверу и изменить настройки SSH с помощью VNS соединения.
Рестрат сервиса sshd
Готово 🎉. Теперь зайти по SSH мы сможем только по порту 1234.