Добавление и удаление SSH-ключей на сервере
Как посмотреть ключи на сервере, добавить сохранённый или новый ключ и безопасно удалить ключ.
На этой странице
Раздел «Добавить SSH-ключ» на карточке сервера показывает, с какими SSH-ключами может входить пользователь root, и позволяет добавлять и удалять ключи, не заходя на сервер. Он находится в панели app.blackbox.md на странице «Мои серверы» (app.blackbox.md/my-servers, меню слева «Инфраструктура» → «Мои серверы»). С blackbox.md к нужной карточке ведёт ссылка «Мой аккаунт» → «Заказы» → «Управление в app.blackbox.md».
Доступно: владельцу аккаунта blackbox.md, который заказал сервер, или аккаунту, которому BLACKBOX выдал права на управление сервером. На карточках с отметкой «Обслуживается» этого раздела нет — для изменений напишите нам.
Список «Установленные ключи»
- На карточке сервера нажмите «Добавить SSH-ключ». Под кнопками карточки откроется раздел; пока панель считывает данные с сервера, видна надпись «Загрузка ваших ключей…».
- Вверху появится список «Установленные ключи» — ключи из файла
/root/.ssh/authorized_keysна сервере, по одной строке на ключ.
В каждой строке — начало отпечатка (первые 20 символов, например SHA256:Ab12Cd34Ef56G…), тип ключа (ssh-ed25519, ssh-rsa и т. д.) и комментарий ключа:
| Строка | Что это | Кнопка «Удалить» |
|---|---|---|
| «Ключ управления (blackbox.md)» | Ключ, через который работают кнопки панели. | Нет |
Комментарий blackbox-agent-… |
Ключ для AI-ассистента. См. Ключи BLACKBOX на вашем сервере. | Есть |
Другой комментарий (например, user@laptop) или без комментария |
Ваши ключи или ключи, которые кто-то добавил прямо на сервере. | Есть |
На серверах компании, где BLACKBOX выдал вам права на управление, подпись «Ключ управления (blackbox.md)» без кнопки «Удалить» стоит у всех ключей, которые вы не добавляли сами через панель и которых нет в вашем аккаунте. Такие ключи через панель удалить нельзя.
Чтобы узнать свой ключ, выведите его отпечаток на своём компьютере и сравните начало с тем, что в списке:
ssh-keygen -lf ~/.ssh/id_ed25519.pubВ Windows (PowerShell):
ssh-keygen -lf $env:USERPROFILE\.ssh\id_ed25519.pubЕсли в файле есть строки, которые панель не может распознать как ключи, под списком появится «{count} нераспознанных строк в authorized_keys были пропущены.» — вместо {count} будет их число. Сюда же попадают строки-комментарии, начинающиеся с #. Такие строки не показываются, и панель их не изменяет.
Как добавить ключ
Можно установить ключ, сохранённый в аккаунте (см. SSH-ключи в аккаунте (blackbox.md)), или вставить любой публичный ключ напрямую. Если пары ключей у вас ещё нет, воспользуйтесь статьёй Создание SSH-ключа (Windows, macOS, Linux).
- На карточке сервера нажмите «Добавить SSH-ключ».
- Под списком «Установленные ключи» выберите вариант:
- «Использовать сохранённый ключ» — затем нужный ключ в списке «Выберите ключ…»; в каждом пункте указаны название и тип ключа;
- «Вставить новый ключ» — затем вставьте в поле одну строку из файла
.pub(в пустом поле виден примерssh-ed25519 AAAA... you@example.com).
- Нажмите «Добавить ключ». Кнопка становится активной, когда ключ выбран или вставлен; во время операции на ней написано «Добавление…».
- Под кнопкой появится результат:
- «Ключ добавлен.» — ключ записан на сервер;
- «Этот ключ уже есть на сервере.» — такой ключ уже был в файле, пусть даже с другим комментарием; ничего не изменилось.
- Список «Установленные ключи» обновится, и в нём появится новый ключ.
Панель дописывает ключ вместе с его комментарием новой строкой в конец файла /root/.ssh/authorized_keys. Существующие строки не меняются. Если каталога .ssh или самого файла нет, панель создаёт их с правильными правами доступа.
- Если в аккаунте нет сохранённых ключей, вариант «Использовать сохранённый ключ» неактивен, и раздел сразу открывается в режиме «Вставить новый ключ».
- Список сохранённых ключей загружается один раз — при первом открытии раздела. Если вы тем временем добавили ключ в «Мой аккаунт» → «SSH-ключи», обновите страницу «Мои серверы».
- Вставленный ключ устанавливается только на этот сервер и в аккаунте не сохраняется.
- Поддерживаются те же типы, что и в аккаунте:
ssh-ed25519,ssh-rsa(не менее 2048 бит),ecdsa-sha2-nistp256/384/521и аппаратные ключиsk-…. Никогда не вставляйте приватный ключ.
Затем проверьте в новом терминале, что входите по ключу без пароля (подробнее — в статье Подключение к серверу по SSH (Windows, macOS, Linux)):
ssh -o PreferredAuthentications=publickey root@IP_СЕРВЕРАКак удалить ключ
- На карточке сервера нажмите «Добавить SSH-ключ».
- В списке «Установленные ключи» найдите ключ по отпечатку и комментарию и нажмите «Удалить» в его строке.
- Браузер попросит подтвердить: «Удалить ключ {fp} с этого сервера?» — вместо
{fp}будет начало отпечатка. Нажмите «OK». На кнопке появится «Удаление…». - Под списком появится результат:
- «Ключ удалён.» — ключ убран из файла;
- «Этот ключ не был установлен.» — ключ исчез из файла прямо во время операции; панель ничего не изменила.
Панель убирает из /root/.ssh/authorized_keys только строку этого ключа, остальные строки не меняются. В разделе «Мой аккаунт» → «SSH-ключи» ключ остаётся. И наоборот: удаление ключа из аккаунта не убирает его с серверов — с каждого сервера его нужно удалить здесь.
Внимание Прежде чем удалять ключи или отключать вход по паролю, убедитесь, что на сервере останется ваш ключ, и проверьте вход с ним в отдельном терминале, не закрывая текущую сессию. Веб-консоли нет: если доступ потерян, воспользуйтесь статьёй Потерян доступ к серверу (пароль или ключ).
Защита и сообщения
Панель не даёт выполнить некоторые опасные удаления, но не защищает от любой ошибки: каждый раз проверяйте, что у вас остаётся собственный ключ. Сообщения появляются в красной рамке под списком:
| Сообщение | Когда появляется | Что делать |
|---|---|---|
| «Это собственный ключ управления blackbox.md, его нельзя удалить.» | Выбран ключ управления. | Ничего: ключ остаётся на сервере. |
| «Это последний ключ на сервере только с ключом — его удаление заблокирует доступ.» | У сервера значок «Только ключ», а выбранный ключ — последний ключ для входа. | Сначала добавьте другой ключ или нажмите «Включить вход по паролю» (см. Включение и отключение входа по паролю по SSH). |
| «Для этого сервера уже выполняется другое изменение ключей — повторите попытку через момент.» | На сервере компании в этот момент уже идёт другое изменение ключей или входа по паролю. | Подождите минуту и повторите. |
| «Не удалось проверить наш ключ управления — это действие сейчас недоступно.» | Панель не может определить ключ управления и из осторожности ничего не удаляет. | Напишите нам. |
| «Не удалось удалить ключ.» | Другая причина: сервер не отвечает, исчерпан лимит удалений или ключа уже нет в файле (например, вы удалили его вручную после загрузки списка). | Обновите страницу, подождите несколько минут и повторите. |
Технические ошибки и лимиты
При добавлении ключа и загрузке списка некоторые ошибки выводятся в виде технического кода или фразы на английском:
| Сообщение | Что это значит | Что делать |
|---|---|---|
invalid_public_key |
Вставленный текст не является допустимым публичным ключом: несколько строк, приватный ключ, неподдерживаемый тип или ключ RSA короче 2048 бит. | Ещё раз скопируйте одну строку из файла .pub. |
ssh_key_push_failed |
Панель не смогла записать ключ на сервер. Обычно сервер остановлен, ещё загружается, не отвечает по SSH или с него удалён ключ управления. | Если вы остановили сервер, нажмите «Запустить», подождите минуту и повторите. Если ошибка не исчезает, напишите нам. |
ssh_key_list_failed (вместо списка) |
Те же причины, но при чтении списка «Установленные ключи». | То же, что выше. |
not_found |
Выбранного сохранённого ключа больше нет в аккаунте. | Обновите страницу и выберите другой ключ. |
| «Rate limit exceeded — adding a key is limited to 10 requests per 5 minutes» | Исчерпан лимит добавлений. | Подождите 5 минут. |
| «Rate limit exceeded — listing keys is limited to 30 requests per 60 seconds» | Список загружался слишком часто. | Подождите минуту. |
Лимиты действуют на весь аккаунт, по всем серверам вместе, и учитывают в том числе неудачные попытки:
| Действие | Лимит |
|---|---|
| Добавление ключа | 10 за 5 минут |
| Удаление ключа | 10 за 5 минут |
| Загрузка списка «Установленные ключи» | 30 в минуту |
Список загружается при каждом открытии раздела и после каждого добавления или удаления. См. также Сообщение «Слишком много попыток» и лимиты использования и Сообщения об ошибках в панели и что они значат.
Если вместо раздела видна надпись «Управление SSH-ключами сейчас недоступно.», функция временно недоступна. Повторите попытку позже; если сообщение не исчезает, напишите нам.
Ручное редактирование файла authorized_keys
Ключами можно управлять и прямо на сервере, войдя как root. Панель читает файл при каждом открытии раздела, поэтому видит и ручные изменения.
Сделайте резервную копию файла:
cp ~/.ssh/authorized_keys ~/.ssh/authorized_keys.bakВыведите отпечатки всех ключей из файла. Ключи, отпечатки которых начинаются так же, как в строках «Ключ управления (blackbox.md)» в панели, — это ключи управления: их не трогайте.
ssh-keygen -lf ~/.ssh/authorized_keysОткройте файл в редакторе (
nanoилиvi). Удалите целиком строку ключа, который хотите убрать; новый ключ добавляйте отдельной строкой в конец.nano ~/.ssh/authorized_keysЕсли
nanoне установлен (так бывает в AlmaLinux и CentOS Stream), установите его или воспользуйтесьvi:dnf install -y nanoИзменения действуют сразу, перезапускать SSH не нужно. Проверьте вход в новом терминале, прежде чем закрывать текущую сессию. Если что-то пошло не так, восстановите копию:
cp ~/.ssh/authorized_keys.bak ~/.ssh/authorized_keys
Важно Никогда не удаляйте строку ключа управления. Без неё перестанут работать список «Установленные ключи», добавление и удаление ключей, кнопки входа по паролю, команды через AI-ассистента и, как правило, «Сбросить пароль». Вернуть ключ может только поддержка. См. Ключи BLACKBOX на вашем сервере.
Частые вопросы
Почему в списке «Установленные ключи» не видно названия, которое я дал ключу в аккаунте?
В списке показывается комментарий из строки ключа (например, user@laptop), а не название из раздела «SSH-ключи». Узнавайте ключ по началу отпечатка.
Управляет ли панель ключами других пользователей, кроме root?
Нет. Список и кнопки работают только с файлом /root/.ssh/authorized_keys. Для другого пользователя отредактируйте вручную файл /home/ИМЯ_ПОЛЬЗОВАТЕЛЯ/.ssh/authorized_keys — порядок действий описан в статье Защита нового сервера: чек-лист.
Приватный ключ потерян, а сервер работает в режиме «Только ключ». Что делать? Создайте новую пару ключей и добавьте новый публичный ключ через «Вставить новый ключ»: панель установит его без старого ключа. Когда убедитесь, что входите с новым ключом, удалите потерянный ключ из списка «Установленные ключи». Другие ситуации разобраны в статье Потерян доступ к серверу (пароль или ключ).