// DevOps
Bitwarden CLI: управление паролями из терминала и автоматизация CI/CD
Опубликовано 02.06.2026
В предыдущей статье мы развернули собственный сервер Vaultwarden. Сегодня — как работать с ним из консоли и встроить в автоматизацию.
Bitwarden CLI (утилита bw) — официальный инструмент командной строки с открытым исходным кодом. Позволяет находить доступы прямо в терминале и безопасно пробрасывать секреты в скрипты и пайплайны (GitHub Actions, GitLab CI и др.). Полностью бесплатен и совместим с self-hosted Vaultwarden.
1. Установка
# Через NPM (любая ОС)
npm install -g @bitwarden/cli
# macOS
brew install bitwarden-cli
# Linux (Ubuntu/Debian)
sudo snap install bwПроверяем:
bw --version2. Подключение к своему серверу
По умолчанию CLI смотрит на облако Bitwarden. Переключаем на Vaultwarden:
bw config server https://vault.yourdomain.com3. Аутентификация: два сценария
Сценарий А: Интерактивный вход (личный ПК)
bw loginСценарий Б: Неинтерактивный вход (CI/CD)
Генерируем API-ключи в веб-интерфейсе: Настройки аккаунта → Безопасность → Ключи API, затем:
export BW_CLIENTID="user.xxxxx-xxxx-xxxx"
export BW_CLIENTSECRET="xxxxxxxxxxxxxx"
bw login --apikey4. Разблокировка хранилища и BW_SESSION
login только авторизует на сервере — данные ещё зашифрованы. Чтобы их расшифровать:
bw unlockСистема вернёт токен сессии:
export BW_SESSION="AI39...=="Скопируйте и выполните эту строку. Пока установлена переменная $BW_SESSION, utillта расшифровывает пароли локально в памяти без запроса мастер-пароля при каждой команде.
В скриптах — одной строкой:
export BW_SESSION=$(bw unlock --passwordenv BW_PASSWORD --raw)5. Основные команды
| Задача | Команда |
|---|---|
| Поиск элемента | bw list items --search "github" |
| Получить пароль | bw get password "github" |
| Получить логин | bw get username "github" |
| TOTP-код (2FA) | bw get totp "github" |
| Весь объект | bw get item <ID> |
Скопировать пароль в буфер (Linux):
bw get password github | xclip -selection clipboard6. Шаблон скрипта для CI/CD
#!/usr/bin/env bash
set -e
# 1. Адрес сервера
bw config server https://vault.yourdomain.com
# 2. Логин по API-ключам (BW_CLIENTID и BW_CLIENTSECRET — в переменных окружения CI)
bw login --apikey
# 3. Разблокировка
export BW_SESSION=$(bw unlock --passwordenv BW_PASSWORD --raw)
# 4. Получаем секрет по ID элемента
# ID узнать заранее: bw list items --search "my-db"
DB_PASS=$(bw get item "8a562df1-443b-4892-baee-b123456789ab" | jq -r '.login.password')
echo "Запуск деплоя..."
# ./deploy.sh --pass=$DB_PASS
# 5. Завершаем сессию
bw logoutПравила безопасности
- Не храните
BW_SESSIONна диске — только в памяти текущей сессии или процесса CI/CD. - Всегда вызывайте
bw logoutв конце скриптов — очищает локальные зашифрованные кэши. - Маскируйте вывод в CI/CD — используйте механизмы маскирования секретов (
::add-mask::в GitHub Actions), чтобы пароли не попали в публичные логи.
Итог
Bitwarden CLI превращает Vaultwarden в полноценное хранилище секретов для инфраструктуры. Хардкод-паролям в конфиге и Git-репозиториях — конец.
Если Vaultwarden ещё не развёрнут — начните с предыдущей статьи: Vaultwarden за 30 минут.
// Reviews
Отзывы по теме
Пришел с дорогим запросом по настройке VPS-сервера, но в процессе консультации Михаил предложил гораздо более простое и экономичное решение. В итоге сэкономил бюджет и время. Михаил — настоящий эксперт, который работает на результат клиента, а не на чек. Рекомендую!
Пришел с дорогим запросом по настройке VPS-сервера, но в процессе консультации Михаил предложил гораздо более простое и экономичное решение. В итоге сэкономил бюджет и время. Михаил — настоящий эксперт, который работает …
Настройка vps, настройка сервера
12.05.2026 · ★ 5/5
Отличная работа! Очень быстро настроил сервер, установил панель, прописал IP. Однозначно могу порекомендовать!
Отличная работа ! Очень быстро настроил сервер, установил панель прописал IP Однозначно могу по рекомендовать !
Всё отлично, помог оперативно и профессионально, спасибо, рекомендую сообществу
Всё отлично, помог оперативно и профессионально, спасибо, рекомендую сообществу
Настройка vps, настройка сервера
16.04.2026 · ★ 5/5
Было несколько проблем касаясь как технической части так и понимания в целом. Михаил быстро ответил на запрос, помог разобраться и решил проблеммы технические и помог разобраться в понимании, за что отдельное спасибо. Результатом доволен.
Было несколько проблем касаясь как технической части так и понимания в целом. Михаил быстро ответил на запрос, помог разобраться и решил проблеммы технические и помог разобраться в понимании, за что отдельное спасибо. …
Настройка vps, настройка сервера
18.02.2026 · ★ 5/5
Все было сделано быстро и четко. Рекомендую
Все было сделано быстро и четко. Рекомендую
Настройка vps, настройка сервера
17.01.2026 · ★ 5/5
Всё прошло хорошо, исполнитель быстро реагировал на вопросы и помог решить проблему. Спасибо!
Всё прошло хорошо, исполнитель быстро реагировал на вопросы и помог решить проблему. Спасибо!
Настройка vps, настройка сервера
16.12.2025 · ★ 5/5
// Contact
Нужна помощь?
Свяжись со мной и я помогу решить проблему
Написать в TelegramОтвечаю в течение рабочего дня (03:00–13:00 GMT)
Или оставьте заявку здесь:
// Related