Установка и настройка SSH-сервера в Linux
SSH — первое, что настраиваю на новом сервере. По умолчанию OpenSSH работает, но настройки безопасности оставляют желать лучшего: root-доступ открыт, паролям разрешено, порт стандартный. Исправляю это сразу после установки.
Установка OpenSSH
Ubuntu/Debian:
sudo apt update && sudo apt install openssh-server -y
CentOS/RHEL:
sudo yum install openssh-server -y
Arch Linux:
sudo pacman -S openssh
Настройка
Открываю конфигурационный файл:
sudo vim /etc/ssh/sshd_config
Сменить порт
Стандартный порт 22 сканируют постоянно. Меняю на нестандартный — например, 2211 или 2233:
Port 2211
Отключить вход под root
PermitRootLogin no
Прямой вход root на сервер — плохая практика. Захожу под обычным пользователем, дальше sudo.
Включить авторизацию по ключу
PubkeyAuthentication yes
Отключить авторизацию по паролю
PasswordAuthentication no
Если включена авторизация по ключу — пароли больше не нужны. Брутфорс сразу теряет смысл.
Запретить пустые пароли
PermitEmptyPasswords no
Применить изменения
sudo systemctl restart sshd
Важно: перед тем как закрыть текущую сессию, убедиться, что новый порт открыт в файрволе и ключ добавлен в ~/.ssh/authorized_keys. Иначе рискуешь заблокировать себя на сервере.
Если хочешь обсудить похожую задачу — пиши на [email protected] или заходи на 1it.pro.