Как загрузить открытый ключ SSH на существующий VPS ⋆ ALexHost SRL

Проверьте свои навыки на всех наших услугах хостинга и получите скидку 15%!.

Используйте код при регистрации:

Skills
21.01.2025
No categories

Как загрузить открытый ключ SSH на существующий VPS

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

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

Ключи SSH широко используются для защиты доступа к удаленным серверам. Они обладают рядом преимуществ по сравнению с традиционными паролями:

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

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

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

  1. Доступ к существующему VPS: это означает, что вы можете войти в VPS по SSH, скорее всего, с паролем.
  2. Пара ключей SSH: Если у вас ее нет, мы расскажем, как ее сгенерировать.
  3. Базовые знания о командах SSH: Необходимо знакомство с интерфейсом командной строки (CLI).

Шаг 1: Генерация пары ключей SSH (если у вас их нет)

Если у вас еще нет пары ключей SSH на локальной машине, вы можете создать ее. Вот как это делается:

Откройте терминал на локальной машине (macOS или Linux) и выполните следующую команду:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

Эта команда создаст 4096-битную пару ключей шифрования RSA. Во время процесса вам будет предложено сохранить ключ:

  • Нажмите Enter, чтобы сохранить ключ в месте по умолчанию(~/.ssh/id_rsa).
  • По желанию добавьте кодовую фразу для дополнительного уровня безопасности (рекомендуется) или нажмите Enter, чтобы пропустить этот шаг.

В результате этого процесса создаются два файла:

  • id_rsa: ваш закрытый ключ (храните его в безопасности и никогда не передавайте).
  • id_rsa.pub: Ваш открытый ключ (именно его вы будете загружать на сервер).

Далее отобразите открытый ключ, чтобы вы могли его скопировать:

ssh root@ваш_vps_ip

Скопируйте вывод (ваш открытый ключ), так как он понадобится вам на следующем этапе.

Шаг 2: Войдите в свой VPS

Чтобы добавить новый открытый ключ SSH на виртуальную машину, вам нужно войти в нее текущим способом (либо с паролем, либо с существующим ключом). Откройте терминал и выполните команду:

ssh root@your_vps_ip

Замените your_vps_ip на фактический IP-адрес вашего VPS. Если вы входите в систему под другой учетной записью (не root), замените root на соответствующее имя пользователя.

Шаг 3: Создайте каталог .ssh (если он не существует)

После входа в систему убедитесь, что каталог.ssh существует для используемой вами учетной записи. Если он не существует, создайте его с помощью следующей команды:

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

Эта команда создает каталог .ssh и устанавливает правильные разрешения, чтобы только текущий пользователь мог получить к нему доступ.

Шаг 4: Добавьте открытый ключ в файл authorized_keys

Теперь, когда у вас есть каталог .ssh, вам нужно загрузить открытый ключ SSH на VPS, добавив его в файл authorized_keys. Этот файл содержит открытые ключи, которые разрешены для аутентификации на сервере.

  1. Откройте файл authorized_keys с помощью текстового редактора, например nano:
    nano ~/.ssh/authorized_keys

    Если файл не существует, эта команда создаст его.

  2. Вставьте в файл свой открытый SSH-ключ (тот, который вы скопировали из id_rsa.pub ранее). Щелкните правой кнопкой мыши или воспользуйтесь функцией вставки в терминале, чтобы вставить ключ.
  3. Сохраните и закройте файл, нажав Ctrl X, затем Y, и нажмите Enter.
  4. Установите правильные разрешения на файл authorized_keys:
    chmod 600 ~/.ssh/authorized_keys

Этот шаг гарантирует, что файл будет доступен только текущему пользователю.

Шаг 5: Проверка входа по ключу SSH

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

  1. Выйдите из текущей сессии SSH, набрав:
    exit
  2. Теперь попробуйте снова войти в VPS, используя свой SSH-ключ:
    ssh root@your_vps_ip

    Если все настроено правильно

  3. вы войдете в систему VPS без запроса пароля.

Шаг 6 (необязательный): Отключите проверку подлинности пароля

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

Чтобы отключить аутентификацию по паролю:

  1. Откройте файл конфигурации SSH на вашем VPS:
    nano /etc/ssh/sshd_config
  2. Найдите следующие строки в конфигурационном файле и убедитесь, что они установлены следующим образом:
    PasswordAuthentication no
    PubkeyAuthentication yes
  3. Сохраните и закройте файл, нажав Ctrl X , затем Y, и нажмите Enter.
  4. Перезапустите службу SSH, чтобы применить изменения:
    systemctl restart sshd

Теперь только пользователи с действительным SSH-ключом смогут войти на VPS.

Шаг 7: Управление несколькими SSH-ключами

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

Host myvps HostName your_vps_ip
Пользователь root
IdentityFile ~/.ssh/id_rsa

Добавив это в файл конфигурации SSH(~/.ssh/config), вы можете просто войти в систему с помощью:

ssh myvps

Заключение

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

Проверьте свои навыки на всех наших услугах хостинга и получите скидку 15%!.

Используйте код при регистрации:

Skills