BLACKBOXЦентр помощи

Создание SSH-ключа (Windows, macOS, Linux)

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

общееОбновлено 2026-10-09~8 мин чтения
На этой странице

SSH-ключ позволяет входить на сервер без пароля. Ключ — это пара файлов. Приватный ключ хранится только на вашем компьютере. Публичный ключ вы передаёте в BLACKBOX: на странице «SSH-ключи» (blackbox.md/ru/account/ssh-keys, «Мой аккаунт» → «SSH-ключи») или прямо на сервер из панели app.blackbox.md («Мои серверы» → «Добавить SSH-ключ»).

Доступно: любому пользователю на своём компьютере. Добавить ключ в аккаунт и на сервер может владелец аккаунта blackbox.md.

Какой тип ключа выбрать

Тип Строка публичного ключа начинается с Когда использовать
Ed25519 (рекомендуем) ssh-ed25519 почти всегда: короткий, быстрый и надёжный ключ
RSA 4096 ssh-rsa только если программа или сервис требует RSA
Ed25519 на аппаратном ключе sk-ssh-ed25519@openssh.com если у вас есть ключ безопасности FIDO2 (см. ниже)

BLACKBOX принимает ключи типов ssh-ed25519, ssh-rsa (не менее 2048 бит), ecdsa-sha2-nistp256, ecdsa-sha2-nistp384, ecdsa-sha2-nistp521, sk-ssh-ed25519@openssh.com и sk-ecdsa-sha2-nistp256@openssh.com. Ключи DSA (ssh-dss) и RSA-ключи короче 2048 бит не принимаются.

Создание ключа в macOS и Linux

  1. Откройте приложение «Терминал».

  2. Выполните команду ниже. Замените комментарий laptop-ivan названием, по которому вы узнаете компьютер:

    ssh-keygen -t ed25519 -C "laptop-ivan"
  3. На запрос «Enter file in which to save the key» нажмите Enter. Ключ сохранится в стандартное место — ~/.ssh/id_ed25519.

  4. На запрос «Enter passphrase» введите парольную фразу (passphrase), затем повторите её на запрос «Enter same passphrase again». Вводимые символы не отображаются.

  5. В конце ssh-keygen покажет, куда сохранены оба файла, и отпечаток ключа вида SHA256:….

Парольная фраза шифрует приватный ключ: тот, кто скопирует файл, не сможет воспользоваться им без неё. Можно дважды нажать Enter и создать ключ без парольной фразы, но мы этого не рекомендуем.

Комментарий из параметра -C записывается в конец публичного ключа. По нему вы узнаете ключ в панели, в списке «Установленные ключи».

Если программа требует RSA-ключ, создайте его так (файлы будут называться id_rsa и id_rsa.pub):

ssh-keygen -t rsa -b 4096 -C "laptop-ivan"

Если ssh-keygen спрашивает «already exists. Overwrite (y/n)?», введите n. Ключ с таким именем у вас уже есть: если его перезаписать, вы потеряете доступ к серверам, на которых установлен старый ключ. Используйте существующий ключ или создайте новый с другим именем файла:

ssh-keygen -t ed25519 -C "laptop-ivan" -f ~/.ssh/id_ed25519_blackbox

Создание ключа в Windows

PowerShell

В Windows 10 и 11 уже есть клиент OpenSSH, поэтому команда та же.

  1. Откройте PowerShell (меню «Пуск» → введите «PowerShell»).

  2. Выполните:

    ssh-keygen -t ed25519 -C "laptop-ivan"
  3. Ответьте на вопросы так же, как в macOS и Linux: Enter для стандартного места, затем дважды парольная фраза.

Файлы сохраняются в папку .ssh вашего профиля: C:\Users\ИМЯ_ПОЛЬЗОВАТЕЛЯ\.ssh\. Если Windows сообщает, что ssh-keygen не распознан как команда, добавьте компонент OpenSSH Client в параметрах Windows, в разделе дополнительных компонентов.

PuTTYgen

PuTTYgen пригодится, если вы подключаетесь через PuTTY. Он устанавливается вместе с PuTTY.

  1. Откройте PuTTYgen. Внизу, в разделе «Type of key to generate», выберите «EdDSA», а в списке рядом — «Ed25519 (255 bits)». В старых версиях этот вариант называется просто «ED25519».
  2. Нажмите «Generate» и водите мышью по пустой области окна, пока не заполнится индикатор.
  3. В поле «Key comment» замените стандартный текст своим названием, например laptop-ivan.
  4. Заполните поля «Key passphrase» и «Confirm passphrase».
  5. Нажмите «Save private key» и сохраните файл .ppk. Именно его вы будете выбирать в PuTTY.
  6. Скопируйте весь текст из поля «Public key for pasting into OpenSSH authorized_keys file». Это одна строка, которая начинается с ssh-ed25519, и именно её вы вставляете в BLACKBOX.

Не используйте файл, сохранённый кнопкой «Save public key»: он начинается с ---- BEGIN SSH2 PUBLIC KEY ----, занимает несколько строк и не принимается. Чтобы пользоваться этим же ключом и в ssh из PowerShell, выберите «Conversions» → «Export OpenSSH key» и сохраните файл как C:\Users\ИМЯ_ПОЛЬЗОВАТЕЛЯ\.ssh\id_ed25519 без расширения. Обратное преобразование — из OpenSSH в .ppk — описано в статье Подключение к серверу по SSH (Windows, macOS, Linux).

Где лежат файлы

Файл Что это Что с ним делать
~/.ssh/id_ed25519 (в Windows: C:\Users\ИМЯ_ПОЛЬЗОВАТЕЛЯ\.ssh\id_ed25519) приватный ключ остаётся на компьютере, им пользуется SSH-клиент
~/.ssh/id_ed25519.pub (в Windows: C:\Users\ИМЯ_ПОЛЬЗОВАТЕЛЯ\.ssh\id_ed25519.pub) публичный ключ вставляется в BLACKBOX
файл .ppk, сохранённый в PuTTYgen приватный ключ в формате PuTTY выбирается в PuTTY или WinSCP

У RSA-ключа файлы называются id_rsa и id_rsa.pub и лежат в той же папке.

Внимание Никому не передавайте приватный ключ — даже поддержке BLACKBOX — и не вставляйте его ни в какие формы: для BLACKBOX нужен только публичный ключ. Приватный ключ — это файл без .pub или текст, который начинается с -----BEGIN.

Как показать и скопировать публичный ключ

В macOS и Linux:

cat ~/.ssh/id_ed25519.pub

В Windows (PowerShell):

Get-Content $env:USERPROFILE\.ssh\id_ed25519.pub

Команда выводит одну строку. Скопируйте её целиком:

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI… laptop-ivan

Отпечаток ключа можно посмотреть командой ниже (в Windows — с путём $env:USERPROFILE\.ssh\id_ed25519.pub). Значение SHA256:… совпадает с тем, что BLACKBOX показывает в столбце «Отпечаток», а для серверов «только по ключу» — и в письме с темой «Serverul dvs. este gata».

ssh-keygen -lf ~/.ssh/id_ed25519.pub

Как добавить публичный ключ в BLACKBOX

Ситуация Куда добавить ключ
Вы собираетесь заказать новый сервер «Мой аккаунт» → «SSH-ключи», затем отметить ключ при заказе
Сервер уже работает панель → «Мои серверы» → «Добавить SSH-ключ»
Вы уже можете подключиться к серверу (Linux, macOS) из терминала, командой ssh-copy-id

В аккаунте — для новых серверов

  1. Войдите на blackbox.md, нажмите «Личный кабинет» и выберите «SSH-ключи» в меню слева.
  2. В карточке «Добавить SSH-ключ» заполните «Название ключа» (не более 80 символов) и вставьте строку в поле «Публичный SSH-ключ».
  3. Нажмите «Добавить ключ». Ключ появится в таблице со столбцами «Тип» и «Отпечаток».
  4. При заказе сервера на шаге «SSH-ключ для сервера» отметьте ключ в разделе «Сохранённые ключи». Флажок «Отключить вход по паролю (только SSH-ключ)» установится автоматически. Если его не снимать, сервер будет создан «только по ключу».

Сохранение в аккаунте не устанавливает ключ на уже работающие серверы. Подробнее: SSH-ключи в аккаунте (blackbox.md) и SSH-ключ при заказе и серверы «только по ключу».

На работающий сервер

  1. Откройте панель app.blackbox.md («Мой аккаунт» → «Панель управления») и перейдите в «Мои серверы».
  2. На карточке сервера нажмите «Добавить SSH-ключ».
  3. Выберите «Использовать сохранённый ключ» и нужный ключ в списке «Выберите ключ…» либо «Вставить новый ключ» и вставьте строку.
  4. Нажмите «Добавить ключ». Появится сообщение «Ключ добавлен.», а ключ отобразится в списке «Установленные ключи».

Панель устанавливает ключ для root, и для этого ей не нужны ни ваш пароль, ни старые ключи. Подробнее: Добавление и удаление SSH-ключей на сервере.

Из терминала с помощью ssh-copy-id

В Linux и macOS публичный ключ можно добавить на сервер командой ssh-copy-id. Она работает, только если вы уже можете подключиться: по паролю на сервере «Пароль + ключ» или другим установленным ключом.

ssh-copy-id -i ~/.ssh/id_ed25519.pub root@IP_СЕРВЕРА

Если появится запрос, введите пароль root. После этого ключ появится и в панели, в списке «Установленные ключи», но в «SSH-ключи» не сохранится. В Windows ssh-copy-id нет — используйте панель.

Проверьте подключение

ssh -i ~/.ssh/id_ed25519 root@IP_СЕРВЕРА

Если у ключа есть парольная фраза, SSH спросит «Enter passphrase for key»: введите фразу ключа, а не пароль сервера. Пошаговые инструкции для каждой системы — в статье Подключение к серверу по SSH (Windows, macOS, Linux). Когда вход по ключу заработает, вход по паролю можно отключить в панели: Включение и отключение входа по паролю по SSH.

Удобнее: ssh-agent и файл config

ssh-agent

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

ssh-add ~/.ssh/id_ed25519

Если ssh-add не может подключиться к агенту (например, появляется сообщение «Could not open a connection to your authentication agent»), запустите агент в текущем терминале и повторите ssh-add:

eval "$(ssh-agent -s)"

В Windows служба агента по умолчанию отключена. Включите её один раз в PowerShell, запущенном от имени администратора:

Get-Service ssh-agent | Set-Service -StartupType Automatic
Start-Service ssh-agent

Затем в обычном PowerShell:

ssh-add $env:USERPROFILE\.ssh\id_ed25519

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

ssh-add -l

Файл ~/.ssh/config

В файле ~/.ssh/config серверу можно дать короткое имя. В Windows это файл C:\Users\ИМЯ_ПОЛЬЗОВАТЕЛЯ\.ssh\config без расширения .txt. Добавьте блок:

Host server-web
    HostName IP_СЕРВЕРА
    User root
    IdentityFile ~/.ssh/id_ed25519
    IdentitiesOnly yes

После этого для подключения достаточно команды:

ssh server-web

Это имя работает и в scp, и в rsync: Передача файлов на сервер (scp, rsync, SFTP). Параметр IdentitiesOnly yes заставляет SSH предлагать только указанный ключ, поэтому не возникает ошибка «Too many authentication failures», даже если ключей у вас много.

Аппаратные ключи безопасности (FIDO2)

С ключом безопасности FIDO2 (например, YubiKey) секретная часть остаётся на устройстве. На компьютере нужен OpenSSH 8.2 или новее. Проверьте версию:

ssh -V
  1. Подключите ключ безопасности к компьютеру.

  2. Выполните:

    ssh-keygen -t ed25519-sk -C "yubikey-ivan"
  3. Когда ssh-keygen выведет «You may need to touch your authenticator», коснитесь ключа, затем задайте парольную фразу, как описано выше.

Будут созданы файлы id_ed25519_sk (ссылка на устройство — сохраните её) и id_ed25519_sk.pub, который начинается с sk-ssh-ed25519@openssh.com. Публичный ключ добавляется в BLACKBOX так же, как остальные. При каждом подключении ключ безопасности должен быть подключён к компьютеру, и его нужно коснуться.

Если устройство не поддерживает Ed25519, ssh-keygen выдаст ошибку. Тогда создайте ключ ECDSA — BLACKBOX принимает и его:

ssh-keygen -t ecdsa-sk -C "yubikey-ivan"

В macOS встроенный OpenSSH может не поддерживать ключи FIDO2: тогда ssh-keygen выдаёт ошибку и для ed25519-sk, и для ecdsa-sk. В этом случае установите OpenSSH из Homebrew, откройте новое окно терминала и повторите команду:

brew install openssh

Резервная копия и потеря ключа

  • Храните копию приватного ключа и парольной фразы в надёжном месте, например в менеджере паролей или на зашифрованной флешке. Забытую парольную фразу восстановить нельзя.

  • Парольную фразу можно сменить, не меняя сам ключ:

    ssh-keygen -p -f ~/.ssh/id_ed25519
  • Надёжнее всего создавать отдельный ключ для каждого компьютера: если устройство потеряется, достаточно отозвать только его ключ.

  • Если ключ потерян или компьютер украден, создайте новый ключ и добавьте его через панель, вариант «Вставить новый ключ». Затем удалите старый ключ из списка «Установленные ключи» на каждом сервере и со страницы «SSH-ключи».

Важно На сервере «Только ключ» без приватного ключа подключиться по SSH нельзя, а веб-консоли у клиентов нет. Если панель тоже не помогает, воспользуйтесь статьёй Потерян доступ к серверу (пароль или ключ).

Частые вопросы

Я потерял файл .pub, но приватный ключ остался. Что делать? Команда ниже снова выведет публичный ключ — скопируйте его. В Windows используйте путь $env:USERPROFILE\.ssh\id_ed25519.

ssh-keygen -y -f ~/.ssh/id_ed25519

Почему страница «SSH-ключи» не принимает мой ключ? Чаще всего вставлен приватный ключ, несколько строк или RSA-ключ короче 2048 бит. Все сообщения об ошибках разобраны в статье SSH-ключи в аккаунте (blackbox.md).

Я создал ключ без парольной фразы. Можно добавить её позже? Да, той же командой, что и для смены парольной фразы (см. раздел выше). Публичный ключ при этом не меняется, поэтому заново добавлять его на серверы не нужно.

Не нашли ответ?Напишите нам — служба поддержки ответит. support@blackbox.md
Открыть тикет