ru.dojiksi.ru

Как настроить SSH-доступ к серверу по ключу без пароля?

Купил VPS, постоянно ввожу пароль и боюсь, что забрутят. Нужно сгенерировать ключ, закинуть его на сервер и отключить парольный вход. Какие команды на Linux и Windows?

1 ответ

Алгоритм одинаковый на Linux/Mac/Windows (PowerShell):

  1. Сгенерировать ключ: ssh-keygen -t ed25519 -C "твой@email". Просто Enter на все вопросы — пароль на ключ опционален. Появится id_ed25519 (приватный, его никому) и id_ed25519.pub (публичный).
  2. Закинуть на сервер: ssh-copy-id user@SERVER_IP (если нет команды — скопировать содержимое .pub в ~/.ssh/authorized_keys на сервере).
  3. Проверить: ssh user@SERVER_IP — должен пустить без пароля.
  4. Отключить парольный вход в /etc/ssh/sshd_config: PasswordAuthentication no, PermitRootLogin prohibit-password. Перезапустить: systemctl restart sshd.

Важно: перед отключением пароля убедись, что вход по ключу реально работает, иначе можешь потерять доступ.