Остались вопросы?
Мы с удовольствием вам поможем
Спасибо! Ваша заявка принята.
Ваша заявка принята. Наш менеджер скоро с вами свяжется
Заказать звонок
Спасибо! Ваша заявка принята.
Спасибо за обращение.
Мы обязательно свяжемся с вами

Время работы офиса
Пн-Пт: 8:00 — 18:00
Сб: 10:00 — 16:00
Вс: выходной

Добавление SSH-ключей на виртуальный сервер

14.10.2024

SSH-ключи позволяют удаленно администрировать сервер через подключение по зашифрованному протоколу. Для этого используются два ключа: 

  • приватный — размещается на компьютере;
  • публичный — на сервере.

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


Создание SSH-ключей

Для авторизации на сервере рекомендуется вместо логина и пароля использовать SSH-ключи, например еd25519, rsa, ecdsa и dsa. На разных операционных системах создание ключей отличается.


Linux/macOS

1. Запустите терминал и сгенерируйте два SSH-ключа при помощи команды:
ssh-keygen -t тип_ключа
где тип ключа — это еd25519, rsa, ecdsa или dsa.

2. Появится сообщение о выборе каталога для хранения ключей:
Enter file in which to save the key (~/.ssh/id_тип_ключа).
Можете оставить предложенную директорию или
выбрать другую, указав ее в формате /path/to/id_тип_ключа.

3. Для дополнительной защиты можно ввести кодовую фразу, затем повторить ее и нажать Enter, о чем вас и уведомит сообщение:
Enter passphrase (empty for no passphrase):
Enter same passphrase again:

4. Далее система уведомит вас о том, что ключи сгенерированы, и создаст два файла: приватный ключ — id_тип_файла и публичный — id_тип_файла.pub. А в терминале отобразится отпечаток ключа и его изображение:
Your identification has been saved in ~/.ssh/id_тип_ключа
Your public key has been saved in ~/.ssh/id_тип_ключа.pub
The key fingerprint is:
The key's randomart image is:

5. Для вывода содержимого публичного SSH-ключа используйте команду:
cat <~/.ssh/id_тип_ключа.pub>
где <~/.ssh/id_тип_ключа.pub> — директория публичного ключа, которую вы указали на шаге 2.


Windows 

1. Установите PuTTY — программное обеспечение для удаленного администрирования и различных сетевых настроек.
2. Запустите PuTTYgen — утилиту для генерации и управления SSH-ключами.
3. В поле Parameters — Type of key to generate выберите тип ключа.
4. Нажмите Generate.
5. Несколько раз произвольно поводите курсором по экрану в окне PuTTYgen для генерации SSH-ключей.
6. Когда ключи будут созданы, нажмите Save public key и Save private key.
7. Укажите директорию для ключей.
8. Опционально вы можете ввести в поле Key passphrase кодовую фразу для дополнительной защиты.
9. Скопируйте публичный SSH-ключ.

Размещение SSH-ключа на виртуальном сервере

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


Публичные SSH-ключи можно разместить на сервере при помощи двух способов:
- создав копию ключа через консольную команду;
- вручную.


Копирование публичного SSH-ключа с локального компьютера

Команда ssh-copy-id добавляет публичный SSH-ключ в файл ~/.ssh/authorized_keys.  Директория и файл создаются автоматически при их отсутствии. На разных ОС этот шаг выполняется с некоторыми отличиями.


На Linux/macOS


1. Запустите терминал на локальном компьютере. 
2. Для копирования ключа выполните команду:
ssh-copy-id -i <~/.ssh/id_тип_ключа.pub> имя_пользователя@ ip_адрес
где: <~/.ssh/id_rsa.pub> — директория с публичным ключом на компьютере.
3. Введите пароль пользователя.

На Windows

1. Откройте cmd на компьютере.
2. Скопируйте публичный SSH-ключ на виртуальный сервер при помощи команды:
C:\ProgramData\ssh\authorized_keys

Размещение публичного SSH-ключа на сервере вручную


1. Откройте файл с публичным SSH-ключом на компьютере:
- Для Linux/macOS — cat ~/.ssh/id_тип_ключа.pub
- Для Windows — type C:\ProgramData\ssh\authorized_keys
2. Скопируйте значение публичного SSH-ключа.
3. Подключитесь к серверу
4. Перейдите в директорию cd .ssh
5. Выполните в этой папке команду touch authorized_keys для создания соответствующего файла.
6. Добавьте в этот файл скопированный в пункте 2 SSH-ключ:
echo <public_ssh_key> >> ~/.ssh/authorized_keys
где <public_ssh_key> — скопированный ключ.
7. Настройте права доступа:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys




Получилось найти ответ?
success image
Спасибо за обратную связь!
Задать вопрос
Уточните, пожалуйста, вопрос, ответ на который вы не нашли на этой странице. Мы подготовим ответ и отправим его на вашу электронную почту.
Спасибо! Ваша заявка принята.
Мы скоро свяжемся с вами
Подпишитесь на email-рассылку!

Будьте в курсе новостей. Отправляем полезные письма каждый месяц.

Пожалуйста, введите адрес электронной почты
Пожалуйста, подтвердите согласие с условиями обработки персональных данных.
article mailing picture
Вы подписались на нашу рассылку!

Скоро вы получите новое письмо.

article mailing picture