Импорт SSH-ключей в Bitwarden: решение неочевидной проблемы
Пароли — слабое звено безопасности. Люди используют одинаковые пароли на разных
сайтах, записывают их в заметках или выбирают простые комбинации вроде qwerty123.
Утечка одного сервиса ставит под удар все остальные аккаунты. Менеджеры паролей
решают эту проблему: генерируют уникальные сложные пароли для каждого сервиса и
хранят их в зашифрованном хранилище, доступном по единственному мастер-паролю.
Какие менеджеры паролей существуют
Рынок менеджеров паролей сформировался и предлагает несколько зрелых решений:
- 1Password — проприетарный менеджер с отличным UX, поддержкой passkeys и SSH-ключей. Минус — нет бесплатного тарифа, а с марта 2026 цены выросли на 33% (Individual: $47.88/год).
- LastPass — один из старейших облачных менеджеров. После крупной утечки в 2022 году , когда были украдены зашифрованные хранилища пользователей, доверие к сервису серьёзно пострадало. К декабрю 2025 через взломанные данные украдено более $438M в криптовалюте .
- Dashlane — менеджер паролей со встроенным VPN и мониторингом утечек. Самый дорогой среди конкурентов, бесплатный тариф упразднён с сентября 2025.
- KeePassXC
— бесплатный open-source менеджер
с локальным хранением данных в файле
.kdbx. Максимальный контроль, но нет нативной облачной синхронизации — нужен Syncthing, Dropbox или аналог. - Bitwarden — open-source менеджер с щедрым бесплатным тарифом и возможностью self-hosting. О нём поговорим подробнее.
Bitwarden и Vaultwarden
Bitwarden выделяется среди конкурентов открытым исходным кодом и бесплатным тарифом без ограничений на количество паролей и устройств. Premium стоит всего $10/год и добавляет TOTP-аутентификатор, зашифрованные вложения и аварийный доступ.
Для тех, кто хочет полностью контролировать свои данные, Bitwarden предлагает self-hosted вариант. Но официальный сервер написан на C#/.NET, требует MSSQL и несколько контейнеров — потребляет 2-4 GB RAM.
Vaultwarden — альтернативная реализация сервера Bitwarden, написанная на Rust. Один контейнер, SQLite по умолчанию, ~50 MB RAM. Работает даже на Raspberry Pi. При этом полностью совместим с официальными клиентами Bitwarden — desktop, mobile, browser extensions.
| Параметр | Bitwarden Official | Vaultwarden |
|---|---|---|
| Язык | C# / .NET | Rust |
| БД | MSSQL | SQLite / PostgreSQL / MySQL |
| RAM | 2-4 GB | ~50 MB |
| Контейнеры | Несколько | Один |
| Premium-функции | Платные | Все бесплатно |
SSH-агент в Bitwarden
В декабре 2024 (версия 2024.12.0) в Bitwarden появилась долгожданная функция — встроенный SSH-агент. Это новый тип элемента хранилища “SSH Key”, который хранит приватный ключ, публичный ключ и fingerprint.
Desktop-клиент Bitwarden работает как drop-in замена стандартного ssh-agent:
при SSH-подключении к серверу появляется popup с запросом подтверждения
использования ключа. Работает с Git, ssh, форвардингом агента — со всем,
что использует стандартный SSH agent protocol.
Для включения SSH-агента: Settings → SSH Agent → Enable SSH agent.
SSH-ключи в хранилище получают все стандартные возможности vault — папки, избранное, повторный запрос мастер-пароля, заметки.
Поддерживаемые типы ключей:
- Ed25519 (генерация и импорт)
- RSA (только импорт)
- Формат — только OpenSSH (
-----BEGIN OPENSSH PRIVATE KEY-----)
Проблема: как импортировать существующий ключ?
При создании нового SSH Key в Desktop-клиенте Bitwarden автоматически генерирует свежую пару ключей. Это удобно, если начинаешь с нуля, но что делать с существующими ключами, которые уже прописаны на десятках серверов?
Документация Bitwarden описывает кнопку “Import key from clipboard” — иконку рядом с полем Private key. Нужно скопировать приватный ключ в буфер обмена и нажать эту иконку. Но при создании нового элемента иконка не появляется.
Это известный баг, зарегистрированный в нескольких issues на GitHub: #14142 , #18833 . Проблема воспроизводится на macOS, Linux и Windows. На момент написания статьи issues остаются открытыми.
Решение
Workaround прост — кнопка импорта не появляется при создании, но работает при редактировании существующего элемента:
Скопировать приватный ключ в буфер обмена:
pbcopy < ~/.ssh/id_ed25519 # macOS xclip -sel clip < ~/.ssh/id_ed25519 # LinuxВ Bitwarden Desktop создать новый элемент типа SSH key — он сгенерирует ключ автоматически. Задать имя и нажать Save.
Открыть только что созданный элемент на редактирование — рядом с полем Private key появится иконка “Import key from clipboard”.
Нажать иконку — приватный ключ заменится на ваш из буфера обмена, public key и fingerprint обновятся автоматически.
Сохранить.
Если ключ защищён passphrase и импорт не срабатывает (ещё один известный баг ) — снять passphrase на временной копии:
cp ~/.ssh/id_ed25519 /tmp/id_ed25519_nopass
ssh-keygen -p -f /tmp/id_ed25519_nopass
# Ввести старый passphrase, новый оставить пустым
pbcopy < /tmp/id_ed25519_nopass
rm /tmp/id_ed25519_nopass
После импорта ключ защищён шифрованием хранилища Bitwarden — отдельный passphrase на нём уже не нужен.
Резюме
Менеджер паролей — необходимый инструмент. Bitwarden в связке с Vaultwarden даёт open-source решение с полным контролем над данными и минимальными требованиями к ресурсам.
SSH-агент в Bitwarden — отличная функция, которая убирает необходимость держать
приватные ключи в ~/.ssh/ на каждой машине. Но импорт существующих ключей
спотыкается о баг: кнопка импорта из буфера обмена не появляется при создании
нового элемента. Решение — создать элемент, сохранить, открыть на редактирование
и импортировать ключ через иконку clipboard.
Неочевидно, но работает.