Как добавить ключи SSH к новому или существующему VPS
При управлении виртуальным выделенным сервером (VPS) безопасность является главным приоритетом, и одним из самых надежных способов аутентификации на сервере является использование SSH-ключей. SSH-ключи обеспечивают безопасный метод входа на сервер без пароля, используя криптографию с открытым ключом. В этом руководстве вы узнаете, как добавить SSH-ключи в новые и существующие VPS-среды, обеспечив беспрепятственный и безопасный вход в систему.
Что такое ключи SSH?
Ключи SSH – это пара криптографических ключей: открытый ключ и закрытый ключ, которые используются для аутентификации. Открытый ключ хранится на сервере, а закрытый – на вашей локальной машине. Когда вы пытаетесь войти в систему, сервер сверяет открытый ключ с закрытым, и если они совпадают, вам предоставляется доступ без необходимости вводить пароль. Ключи SSH – это более безопасный метод, чем традиционные пароли, которые подвержены атакам методом перебора.
Зачем использовать ключи SSH?
- Повышенная безопасность: Ключи SSH используют криптографическую аутентификацию, которая гораздо надежнее паролей.
- Аутентификация без пароля: После настройки SSH-ключей вы сможете входить на свой VPS без необходимости вводить пароль.
- Автоматизация: SSH-ключи идеально подходят для автоматизации таких задач, как резервное копирование, удаленная передача файлов и сценарии системного администрирования.
Необходимые условия
Прежде чем мы начнем, убедитесь, что у вас есть:
- Доступ к VPS (новому или существующему).
- SSH, установленный на вашей локальной машине (обычно устанавливается по умолчанию на macOS и Linux).
- Пара ключей SSH. Если у вас ее нет, мы расскажем, как ее сгенерировать.
Добавление ключей SSH на новый VPS
Если вы устанавливаете новый VPS, многие хостинг-провайдеры позволяют добавить SSH-ключ в процессе создания VPS. Вот как это можно сделать:
Шаг 1: Сгенерируйте пару ключей SSH (если у вас ее нет)
Если у вас еще нет пары ключей SSH, вы можете сгенерировать ее с помощью следующей команды в локальном терминале (на macOS или Linux):
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
Эта команда создает новый SSH-ключ с использованием 4096-битного RSA-шифрования и добавляет ваш email в качестве комментария к ключу. Следуя подсказкам на экране, сохраните ключ в стандартном месте(~/.ssh/id_rsa) и, по желанию, добавьте ключевую фразу для дополнительного уровня безопасности.
Сгенерированные файлы:
- id_rsa: закрытый ключ (никогда не передавайте его).
- id_rsa.pub: Открытый ключ (именно его вы загрузите на свой VPS).
Чтобы отобразить открытый ключ, выполните следующую команду и скопируйте полученный результат
cat ~/.ssh/id_rsa.pub
Шаг 2: Войдите в систему вашего VPS-провайдера
Прежде всего, вам нужно войти в свою учетную запись VPS. Большинство провайдеров предоставляют вам возможность добавить SSH-ключ во время настройки VPS.
Шаг 3: Создайте новый VPS и добавьте SSH-ключ
Во время процесса создания VPS:
- Выберите операционную систему (обычно на базе Linux, например Ubuntu или CentOS).
- Найдите опцию “Добавить SSH-ключ” или “Метод аутентификации“.
- Вставьте открытый SSH-ключ (id_rsa.pub) в соответствующее поле.
- Завершите настройку VPS, выбрав тарифный план, регион и другие параметры.
После создания VPS он будет автоматически настроен на доступ по SSH с использованием вашего SSH-ключа.
Шаг 4: Подключение к VPS
Теперь, когда ваш VPS настроен с помощью SSH-ключа, вы можете подключиться к нему с помощью следующей команды (замените your_vps_ip на IP-адрес вашего VPS):
ssh root@your_vps_ip
Если все настроено правильно, вы получите
входить в свой VPS без необходимости вводить пароль.
Добавление ключей SSH к существующему VPS
Если у вас уже есть VPS, но вы используете аутентификацию на основе пароля, вы можете добавить SSH-ключи для защиты будущих входов. Вот как это сделать:
Шаг 1: Сгенерируйте пару ключей SSH (если необходимо)
Если вы еще не сгенерировали пару ключей SSH, выполните следующую команду на локальной машине, чтобы создать ее:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
Скопируйте открытый ключ(id_rsa.pub), выполнив следующую команду:
cat ~/.ssh/id_rsa.pub
Шаг 2: Войдите в систему VPS
Чтобы добавить SSH-ключ к существующему VPS, вам нужно будет войти в систему текущим способом (скорее всего, с паролем). Используйте следующую команду для подключения к вашему VPS (замените your_vps_ip на фактический IP-адрес):
ssh root@your_vps_ip
Введите пароль, когда появится запрос.
Шаг 3: Создайте каталог .ssh (если он отсутствует)
После того как вы вошли в систему VPS, проверьте, существует ли каталог.ssh . Если нет, создайте его, выполнив следующие команды:
mkdir -p ~/.ssh
chmod 700 ~/.ssh
Каталог .ssh – это место, где будет храниться ваш открытый ключ.
Шаг 4: Добавьте открытый ключ в файл authorized_keys
Далее необходимо добавить открытый ключ в файл authorized_keys, который используется SSH для проверки подлинности попыток входа в систему.
- Откройте файл authorized_keys (создайте его, если он не существует) с помощью текстового редактора, например nano:
nano ~/.ssh/authorized_keys
- Вставьте в файл свой открытый SSH-ключ (скопированный командой cat ~/.ssh/id_rsa.pub ).
- Сохраните и закройте файл, нажав Ctrl X , затем Y, и нажмите Enter.
- Установите правильные разрешения на файл authorized_keys, чтобы он был доступен только текущему пользователю:
chmod 600 ~/.ssh/authorized_keys
Шаг 5: Проверка подлинности ключей SSH
После добавления ключа SSH выйдите из текущей сессии, набрав:
exit
Теперь попробуйте снова войти в свой VPS, используя SSH:
ssh root@your_vps_ip
Если ключ был успешно добавлен, вы должны войти в систему без запроса пароля.
Шаг 6: Отключите проверку подлинности пароля (необязательно)
Для обеспечения дополнительной безопасности можно отключить проверку подлинности пароля, чтобы для входа в систему можно было использовать только SSH-ключи. Для этого:
- Откройте файл конфигурации SSH на вашем VPS:
nano /etc/ssh/sshd_config
- Найдите следующие строки и измените их:
PasswordAuthentication no
PubkeyAuthentication yes
- Сохраните файл и перезапустите службу SSH, чтобы применить изменения:
systemctl restart sshd
Это отключит вход в систему на основе пароля и позволит получить доступ к серверу только пользователям с действительным SSH-ключом.
Заключение
Использование SSH-ключей – один из самых эффективных способов защиты доступа к VPS, устраняющий необходимость в традиционной аутентификации на основе пароля. Независимо от того, устанавливаете ли вы новый VPS или защищаете существующий, добавление SSH-ключей – это простой процесс, который значительно повышает безопасность. Следуя этому руководству, вы сможете легко настроить SSH-ключи на своем VPS, автоматизировать безопасный вход в систему и обеспечить более высокий уровень защиты вашего сервера и данных.