Правильная настройка SSH на Ubuntu Server

Сегодня в статье поговорим о правильной настройке SSH на Ubuntu Server 18.04 LTS.

Практически сразу после запуска сервера на порту 22 наблюдается бурная активность ботов-брутфорсчиков. Для того чтобы защититься от их атак и снизить нагрузку на сервер первым делом устанавливаем и настраиваем Fail2Ban для SSH.

Далее переходим к настройке конфигурационного файла ssh

Настройка sshd_config

Открываем в терминале конфигурационный файл SSH

sudo nano /etc/ssh/sshd_config

Первое что нужно сделать, так это сменить порт ssh с 22 на любой другой. Ищем строку Port 22 и заменяем её например на Port 2222

Port 2222

Порты 21, 22, 80, 139, 443, 1194, 3306, 8080 — советую не использовать.

Второе — ограничим тип адресов для подключения (IPv6 либо IPv4). Если у вас на сервере не используется IPv6, то дописываем в файл:

AddressFamily inet

Третье — запретим root авторизацию

PermitRootLogin no

Четвертое — разрешаем подключение только под определенным логином:

AllowUsers user

где список пользователей пишется через пробел.

Пятое — запрещаем попытку входа с пустым паролем:

PermitEmptyPasswords no

Шестое — настраиваем вход по ключу.

PubkeyAuthentication yes

Далее на машине с который будете подключаться к серверу набираем следующие команды:

ssh-keygen 

Будет предложено указать место размещения пары ключей, парольная фраза на них и их название. Можете оставить все как есть просто нажимая Enter.

Далее копируем наш публичный ключ на сервер:

ssh-copy-id ваш_user@IP_сервера.ru

Проверьте, что можете зайти на сервер по ключу, без ввода пароля!!!

ssh ваш_user@IP_сервера.ru

Седьмое — запрещаем вход по паролю

PasswordAuthentication no

Не забываем до выполнения этого пункта настроить вход по ключу, иначе можете остаться без сервера!!!

Восьмое — сохраняем правки и перезапускаем ssh демон:

sudo /etc/init.d/ssh restart

Соединение по SSH с сервером

Теперь можем перезайти с новыми параметрами на ваш сервер. В терминале набираем:

ssh -p 2222 user@sshserver

На всякий случай посмотрим открытые порты:

netstat -tupln | grep LISTEN

Вы должны увидеть порт 2222

В случае ошибок полезно бывает смотреть лог /var/log/secure либо использовать опции -v, -vv или -vvv для вывода детального лога соединения:

ssh -vvv user@sshserver
Если есть вопросы, то пишем в комментариях.

RSS

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

0 0 vote
Article Rating
Подписаться
Уведомление о
guest

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.

1 Комментарий
новее
старее большинство голосов
Inline Feedbacks
Просмотреть все комментарии