Настройка SSH на клиенте
-
Переходим в директорию SSH и исправляем права доступа
1 2 3 4cd ~/.ssh chmod 0700 ./ touch authorized_keys chmod 0644 authorized_keys -
Создание ключа ED25519
1ssh-keygen -o -a 100 -t ed25519 -f ./id_ed25519 -
Копируем публичную часть ключа на другой хост
1ssh-copy-id -i ./id_ed25519.pub remote_user@remote_hostЕсли
ssh-copy-idнет, скопируйте вручную:1cat ./id_ed25519.pub | ssh remote_user@remote_host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
Настройка SSH на сервере
-
Открываем ssh конфиг
1sudo nano /etc/ssh/sshd_config -
Отключаем логин напрямую через root
PermitRootLogin no -
Включаем логин по ключу
PubkeyAuthentication yes -
Отключаем логин по паролю
PasswordAuthentication no -
Сохраняем файл, перезапускаем службу
1sudo systemctl reload ssh
Проверка со стороны клиента
-
Проверяем отсутствие доступа по паролю:
1ssh remote_user@remote_host -o PubkeyAuthentication=noОтвет должен быть таким:
Permission denied (publickey).