Защита VPS/VDS на Linux от нежелательных гостей

Это инструкция предназначена для новичков, здесь описаны лучшие практики защиты серверов.
Перво на перво хорошо бы сменить порт SSH и выключить вход по паролю.
Для начала нам нужна пара ключей SSH, для этого подключаемся к серверу по SSH и вводим:

ssh-keygen -t rsa

На консоль будет выведен следующий диалог:

Enter file in which to save the key (/home/user/.ssh/id_rsa):

Нажмите на клавишу Enter. Далее система предложит ввести кодовую фразу для дополнительной защиты SSH-подключения:

Enter passphrase (empty for no passphrase):

Этот шаг можно пропустить. При ответе на этот и следующий вопрос просто нажмите клавишу Enter.

После этого ключ будет создан, а на консоль будет выведено следующее сообщение:

Your identification has been saved in /home/user/.ssh/id_rsa.
Your public key has been saved in /home/user/.ssh/id_rsa.pub.
The key fingerprint is:
476:b2:a8:7f:08:b4:c0:af:81:25:7e:21:48:01:0e:98 user@localhost

The key's randomart image is:

+--[ RSA 2048]----+
|+.o.             |
|ooE             |
|oo               |
|o.+..            |
|.+.+..  S .    |
|....+  o +     |
|  .o ....         |
|  .  .. .           |
|    ....            |
+-----------------+

Дальше из подпапки .ssh в директории пользователя скачиваем оба ключа, и закидываем их в:
Если Windows то в:

C:\Users\user\.ssh\

Если Linux то в:

/home/user/.ssh/

После этого при входе в ssh у вас не должен быть требоваться пароль при подключении, если он всё таки требуется то попробуйте ввести:

ssh-copy-id user@ip-server
P.S.

Этой команды на Windows к сожалению нет

Теперь нам надо сменить порт SSH и отключить вход по паролю.
Для этого отредактируйте конфигурацию sshd:

nano /etc/ssh/sshd_config

Найдите строку, которая будет выглядеть следующим образом:

Port 22

или

#Port 22

Поменяйте значение 22 на что-то свое, например на 2022.
Как отключить вход по паролю читайте здесь.
После этого перезагружаем сервер и входим на ssh по новому порту.
Если вы не хотите видеть следующее:

Спойлер

То рекомендуется поставить Fail2ban.
Если у вас Ubuntu/Debian для его установки введите:

apt install fail2ban 

Его настраивать особо не надо, он работает замечательно сам из коробки.
Так же хорошо бы защититься с помощью фаервола.
Будем использовать UFW.
Если у вас Ubuntu/Debian для его установки введите:

apt install ufw

Не буду переписывать, можете как его настроить почитать здесь. Его обезательно надо настраивать!
Можете в комментариях рассказать как вы ещё защищаете свой сервер.

спс что на ломаном русском пересказал древнюю статью с хабра :+1:

Ну что то скопипастил что то сам написал. Но из Хабра я тут не копипастил.