Сб. Дек 5th, 2020
ssh-logo

Сегодня в статье поговорим о правильной настройке 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

[endtxt]

RSS

0 0 голос
Article Rating
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x
()
x
Продолжая пользование настоящим сайтом Вы выражаете своё согласие на обработку Ваших персональных данных (файлов cookie) с использованием трекеров "Google Analytics" и "Yandex.Metrics". Порядок обработки Ваших персональных данных, а также реализуемые требования к их защите, содержатся в Политике конфиденциальности.
Принять