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

Необходимые условия

Прежде чем приступить к работе, убедитесь в следующем:

  • У вас уже есть доступ к VPS с помощью имени пользователя и пароля.

  • На вашей локальной машине сгенерирована пара ключей SSH.

  • на вашей локальной машине (Linux, macOS или Windows с WSL или PuTTY/Pageant) установлен ssh.

Шаг 1: Проверка наличия существующего ключа SSH

На локальной машине выполните команду:

ls ~/.ssh

Проверьте, есть ли у вас файл с именем id_rsa.pub или id_ed25519.pub. Если нет, сгенерируйте новую пару ключей:

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

Следуйте подсказкам и нажмите Enter, чтобы принять расположение файла по умолчанию.

Шаг 2: Загрузите открытый ключ на ваш VPS

Вы можете легко загрузить ключ с помощью команды ssh-copy-id:

ssh-copy-id user@your_vps_ip

Замените user на имя пользователя вашего VPS (например, root или ubuntu), а your_vps_ip – на фактический IP-адрес вашего VPS. Вам будет предложено ввести пароль VPS в последний раз. Если у вас нет ssh-copy-id, вы можете загрузить ключ вручную:

cat ~/.ssh/id_ed25519.pub | ssh user@your_vps_ip "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

Шаг 3: Проверьте соединение

После того как ключ загружен, попробуйте войти в систему:

ssh user@your_vps_ip

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

Необязательно: Отключить проверку подлинности пароля

Для повышения безопасности вы можете полностью отключить авторизацию по паролю (после того как убедитесь, что доступ на основе ключей работает):

  1. Подключитесь к вашему VPS.

  2. Отредактируйте файл конфигурации SSH:

sudo nano /etc/ssh/sshd_config
  1. Найдите и измените или добавьте:

PasswordAuthentication no
  1. Перезапустите службу SSH:

sudo systemctl restart ssh

Будьте осторожны – если ваш ключ не работает должным образом, вы можете заблокировать себя.

Заключение

Загрузка открытого ключа SSH на VPS упрощает доступ и повышает безопасность. Независимо от того, управляете ли вы одним сервером или десятками, аутентификация на основе ключа экономит время и минимизирует риски. Только не забывайте хранить личный ключ в безопасности и отключайте парольный вход только после того, как убедитесь, что все работает без сбоев.