Безопасный доступ без пароля с помощью ключей SSH

Управление вашим Linux VPS или выделенным сервером требует надежной защиты, и аутентификация с помощью SSH-ключей является золотым стандартом для безопасного доступа без пароля. В отличие от традиционных паролей, SSH-ключи используют надежное шифрование для более быстрого и безопасного входа в систему, что идеально подходит как для ручного доступа, так и для автоматизированных рабочих процессов. Например, настройка SSH-ключей для вашего VPS на ava.hosting обеспечивает безопасный доступ к веб-серверу и позволяет легко интегрироваться с такими инструментами, как Git или Ansible. Это руководство поможет вам сгенерировать, добавить и использовать SSH-ключи для новых или существующих серверов, оптимизированных для высокопроизводительной инфраструктуры ava.hosting.

Что такое SSH-ключ и зачем его использовать?

Пара ключей SSH состоит из двух частей:

  • Открытый ключ: хранится на сервере
  • Закрытый ключ: надежно хранится на вашем локальном устройстве

Когда вы подключаетесь по SSH, ваша система доказывает, что у нее есть закрытый ключ, и сервер предоставляет доступ – пароль не нужен.

Преимущества использования ключей SSH:

ФункцииПреимущество
Надежное шифрованиеПочти невозможно взломать
Отсутствие необходимости хранения паролейУстранение риска утечки или повторного использования паролей
Быстрый вход в системуМгновенная аутентификация
Удобство автоматизацииИдеально подходит для скриптов, Git, Ansible, инструментов CI/CD

Вариант 1: Добавьте SSH-ключ при создании нового VPS

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

Шаги:

  • Войдите в панель управления хостинг-провайдера и начните процесс настройки VPS
  • Найдите раздел “Ключ SSH” или “Авторизованные ключи”
  • Вставьте свой открытый ключ (см. ниже, как его сгенерировать)
  • Завершите развертывание – как только VPS заработает, вы сможете входить в систему по SSH без пароля

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

Вариант 2: Добавление SSH-ключа к существующему VPS

У вас уже есть работающий сервер? Вот как вручную добавить открытый ключ:

Шаг 1: Сгенерируйте SSH-ключ (если у вас его нет)

На локальной машине (Linux/macOS/WSL/Windows Terminal):

ssh-keygen -t ed25519 -C "your@email.com"
  • Нажмите Enter, чтобы подтвердить расположение файла по умолчанию
  • Введите кодовую фразу для дополнительной защиты (необязательно)

Шаг 2: Копирование открытого ключа

Используйте эту команду для отображения открытого ключа:

cat ~/.ssh/id_ed25519.pub

Или скопируйте его непосредственно на ваш VPS:

ssh-copy-id username@your-server-ip

Замените имя пользователя (обычно root) и ваш-server-ip.

Шаг 3: Ручной метод (необязательно)

Если ssh-copy-id недоступен, войдите в систему с паролем и выполните команду:

mkdir -p ~/.ssh
nano ~/.ssh/authorized_keys

Вставьте свой открытый ключ, сохраните файл, а затем:

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

Готово – теперь вы можете войти в систему без ввода пароля.

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

Как только ваш открытый ключ окажется на сервере, подключитесь следующим образом:

ssh root@your-server-ip

Если вы сохранили ключ в пользовательском файле:

ssh -i ~/.ssh/my_custom_key root@your-server-ip

Где хранятся ключи SSH?

РасположениеНазначение
~/.ssh/id_ed25519Ваш закрытый ключ (храните в безопасности!)
~/.ssh/id_ed25519.pubОткрытый ключ (безопасно делиться)
/root/.ssh/authorized_keysРасположение VPS для доступа

Совет по безопасности: Отключите вход по паролю

Для дополнительной защиты полностью отключите аутентификацию по паролю:

  • Отредактируйте конфигурацию SSH:nano /etc/ssh/sshd_config
  • Изменить:PasswordAuthentication no
    PermitRootLogin prohibit-password
  • Перезапустите SSH:systemctl restart sshd

⚠ Делайте это только после того, как подтвердится работоспособность входа по ключу.

Заключение

Аутентификация с помощью SSH-ключа – это краеугольный камень безопасного доступа без пароля к вашему VPS или выделенному серверу ava.hosting. Устраняя уязвимости паролей и обеспечивая быстрый, зашифрованный вход, SSH-ключи идеально подходят как для ручного управления, так и для автоматизированных рабочих процессов. Например, вы можете использовать SSH-ключи для безопасного развертывания обновлений для приложения Node.js на вашем сервере или автоматизировать резервное копирование с помощью rsync. С помощью этого руководства вы сможете настроить SSH-ключи за считанные минуты, обеспечив безопасное, масштабируемое и эффективное управление сервером.