Как настроить SSH-аутентификацию по ключу на VPS Печать

  • SSH-аутентификация, пароль, доступ к VPS, SSH authentication, password, access to the VPS, SSH, SSH-доступ, SSH access, доступ по ключу, key access
  • 0

SSH-аутентификация по ключу является одним из самых безопасных способов доступа к VPS или выделенному серверу. В отличие от авторизации по паролю, вход выполняется с использованием пары криптографических ключей, что значительно снижает риск несанкционированного доступа к серверу.

В данной инструкции рассмотрена настройка SSH-доступа по ключу для серверов под управлением Ubuntu, Debian и других Linux-дистрибутивов.

Что потребуется

Перед началом убедитесь, что у вас есть:

  • VPS или выделенный сервер с Linux;
  • Root-доступ к серверу;
  • SSH-клиент;
  • Компьютер под Windows, Linux или macOS.

Шаг 1. Создание SSH-ключа

Linux и macOS

Откройте терминал и выполните команду:

ssh-keygen -t ed25519 -C "your_email@example.com"

Для совместимости со старыми системами можно использовать RSA:

ssh-keygen -t rsa -b 4096

Нажмите Enter для сохранения ключа в стандартном каталоге.

При желании задайте парольную фразу для дополнительной защиты.

После создания ключей вы увидите файлы:

~/.ssh/id_ed25519
~/.ssh/id_ed25519.pub

или:

~/.ssh/id_rsa
~/.ssh/id_rsa.pub

Windows

В Windows можно использовать:

  • OpenSSH (встроен в Windows 10 и новее);
  • PuTTYgen;
  • Windows Terminal.

Для генерации ключа через PowerShell:

ssh-keygen -t ed25519

Шаг 2. Просмотр публичного ключа

Откройте публичный ключ:

cat ~/.ssh/id_ed25519.pub

или:

cat ~/.ssh/id_rsa.pub

Пример содержимого:

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBxxxxxxxxxxxxxxxxxxxxxxxx user@pc

Скопируйте всю строку полностью.

Шаг 3. Добавление ключа на сервер

Подключитесь к серверу:

ssh root@SERVER_IP

Создайте каталог SSH:

mkdir -p ~/.ssh
chmod 700 ~/.ssh

Откройте файл авторизованных ключей:

nano ~/.ssh/authorized_keys

Вставьте скопированный публичный ключ в новую строку.

Сохраните изменения.

Установите корректные права доступа:

chmod 600 ~/.ssh/authorized_keys

Шаг 4. Проверка подключения

Откройте новый терминал и выполните:

ssh root@SERVER_IP

Если настройка выполнена правильно, подключение произойдет без запроса пароля сервера.

Если для ключа была задана парольная фраза, система запросит только её.

Шаг 5. Отключение входа по паролю

После успешной проверки рекомендуется отключить вход по паролю.

Откройте конфигурацию SSH:

nano /etc/ssh/sshd_config

Найдите параметры:

PasswordAuthentication yes
ChallengeResponseAuthentication yes

Измените их на:

PasswordAuthentication no
ChallengeResponseAuthentication no

Сохраните файл.

Перезапустите SSH:

systemctl restart ssh

или:

systemctl restart sshd

В зависимости от дистрибутива.

Шаг 6. Проверка настроек

Не закрывая текущую SSH-сессию, откройте новое подключение:

ssh root@SERVER_IP

Убедитесь, что вход выполняется по ключу.

После этого можно безопасно завершить старую сессию.

Частые ошибки

Permission denied (publickey)

Проверьте права доступа:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

SSH продолжает запрашивать пароль

Убедитесь, что публичный ключ добавлен полностью и без изменений.

Не удается подключиться после отключения пароля

Подключитесь через консоль VPS у провайдера и проверьте содержимое файла:

~/.ssh/authorized_keys

Ключ найден, но вход невозможен

Проверьте журнал SSH:

journalctl -u ssh

или:

journalctl -u sshd

Рекомендации по безопасности

  • Используйте ключи Ed25519 вместо RSA, если это возможно.
  • Добавляйте парольную фразу для защиты приватного ключа.
  • Отключайте вход по паролю после настройки ключей.
  • Регулярно обновляйте систему безопасности сервера.
  • Не передавайте приватный ключ третьим лицам.

Использование SSH-аутентификации по ключу значительно повышает безопасность VPS и рекомендуется для всех серверов, доступных из интернета.


Помог ли вам данный ответ?

« Назад