# Установка HashiCorp Vault на Ubuntu Vault — это инструмент от HashiCorp для безопасного хранения секретов и управления ими. ## 1. Установка Vault Открываю нужный сервер ```sh wsl ``` Похоже vault из Москвы недоступен: ```sh ssh root@45.144.64.218 -p 2200 ``` ### 1.1. Добавление репозитория HashiCorp 1. Установите необходимые пакеты: ```sh sudo apt update && sudo apt install -y gnupg software-properties-common curl ``` 2. Добавьте официальный GPG-ключ HashiCorp: ```sh curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg ``` 3. Добавьте репозиторий HashiCorp в систему: ```sh sudo mcedit /etc/apt/sources.list.d/hashicorp.list ``` Заменяем на: ```text deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com noble main ``` Где noble это кодовое имя Ubuntu 24.04 4. Обновите списки пакетов: ```sh sudo apt update ``` 5. Установите Vault: ```sh sudo apt install -y vault ``` 6. Проверьте, что Vault установлен правильно: ```sh vault --version ``` Выдало: Vault v1.18.5 (2cb3755273dbd63f5b0f8ec50089b57ffd3fa330), built 2025-02-24T09:40:28Z ## 2. Запуск Vault ### 2.1. Запуск в Dev-режиме (только для тестирования) If work stop it: ```sh sudo pkill vault ``` If need delete old data: ```sh sudo rm -rf ~/.vault-token ~/.vault/ ``` For find where stored data read file: ```sh sudo mcedit /etc/vault/config.hcl ``` In config file find this path: /opt/vault/data После удаления базы нужно инициализировать Vault заново: ```sh sudo vault operator init ``` Run in developer mode (in dev mode data stored in RAM): ```sh vault server -dev ``` ```text WARNING! dev mode is enabled! In this mode, Vault runs entirely in-memory and starts unsealed with a single unseal key. The root token is already authenticated to the CLI, so you can immediately begin using Vault. You may need to set the following environment variables: $ export VAULT_ADDR='http://127.0.0.1:8200' The unseal key and root token are displayed below in case you want to seal/unseal the Vault or re-authenticate. Unseal Key: TMb6A3QI3wJ9kaEeTYo5wEviP23lugJ3Asek2la6V4s= Root Token: hvs.GsWHRR7ne7gMTZhuPgZdh91w Development mode should NOT be used in production installations! ``` Теперь Vault работает по адресу: ```sh start http://127.0.0.1:8200 ``` Останавливаю нажатием Ctrl + C ### 2.2. Настройка Vault в режиме сервера 1. Создайте конфигурационный файл: ```sh sudo mkdir -p /etc/vault && sudo mcedit /etc/vault/config.hcl ``` 2. Добавьте следующий конфиг: ```text storage "file" { path = "/opt/vault/data" } listener "tcp" { address = "127.0.0.1:8200" tls_disable = 1 } disable_mlock = true ui = true ``` 3. Создайте папку для хранения данных: ```sh sudo mkdir -p /opt/vault/data && sudo chown vault:vault /opt/vault/data ``` 4. Создайте systemd-сервис для Vault: ```sh sudo tee /etc/systemd/system/vault.service > /dev/null < /dev/null < ``` Проверяем зранятся ли токены в хранилище а не в памяти ```sh vault read sys/auth/token/tune ``` token_type = default-service, значит Vault не хранит токены Включаем хранение токенов: ```sh vault write sys/auth/token/tune token_type=service ``` --- Теперь HashiCorp Vault установлен и готов к использованию! 🚀