Правильная настройка 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



[endtxt]




RSS



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


2019-09-15T21:49:19
SSH