SSH по ключу и отключением рута
Настройка SSH-сервера на Linux
Чтобы настроить SSH-сервер на Linux, выполните следующие шаги.
1. Создание пользователя и добавление его в группы sudo и ssh
В Linux-терминале выполните следующие команды:
adduser user
usermod -aG sudo,ssh user
2. Генерация SSH-ключей
В Windows-терминале выполните следующую команду для генерации SSH-ключей:
ssh-keygen -t rsa -b 4096 -C "your_nickname_or_email"
Ключи будут сгенерированы в папке .ssh.
3. Копирование ключей на сервер
Подключитесь к серверу по SFTP и скопируйте файлы id_rsa и id_rsa.pub из папки .ssh в каталог .ssh/ на сервере.
4. Настройка SSH-сервера
В Linux-терминале выполните следующие команды:
sudo nano /etc/ssh/sshd_config
Откроется файл конфигурации SSH-сервера. Настройте его следующим образом:
sshd_config
Port 44541
LogLevel VERBOSE
LoginGraceTime 15s
PermitRootLogin no
MaxAuthTries 3
MaxSessions 2
PubkeyAuthentication yes
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM yes
X11Forwarding no
PrintMotd yes
Здесь:
Port 44541указывает на порт, на котором будет слушать SSH-сервер.LogLevel VERBOSEуказывает на уровень логирования.LoginGraceTime 15sуказывает на время на авторизацию.PermitRootLogin noотключает авторизацию под рутом. Для доступа как рут, нужно зайти из-под обычного пользователя и выполнить командуsu rootилиsudo -i.MaxAuthTries 3указывает на максимальное количество попыток для входа.MaxSessions 2указывает на максимальное количество сессий для одновременного подключения.PubkeyAuthentication yesразрешает доступ по открытому ключу.PasswordAuthentication noотключает доступ по паролю.ChallengeResponseAuthentication noотключает проверку на основе вызова.UsePAM yesуказывает на использование PAM (Pluggable Authentication Modules).X11Forwarding noотключает графическую отрисовку. Требуется для безопасности.PrintMotd yesразрешает вывод сообщения при подключении.
5. Копирование ключей на пользователя
Из-под рута выполните следующую команду, чтобы скопировать ключи в домашнюю папку пользователя:
cp -r .ssh /home/user/
Здесь .ssh/ — это папка, в которой находятся ключи, а user — имя пользователя, на которого нужно скопировать ключи.
tip
После выполнения этих шагов SSH-сервер будет настроен и готов к использованию.