在 Ubuntu 上安装 HashiCorp Vault
本指南介绍如何在 Ubuntu 24.04 LTS 服务器上安装和配置 HashiCorp Vault。Vault 用于集中、安全地管理密钥(API 密钥、密码、TLS 证书)。
现代应用依赖各类密钥:API 密钥、数据库密码、TLS 证书、加密密钥。硬编码或明文存储存在风险。Vault 提供安全存储、动态凭据生成、加密即服务及细粒度访问控制。
订购服务器
要托管 Vault 实例,HostMyServers 提供多种方案:
- Performance VPS - 适合小团队
- NVMe VPS - 性价比高
- 经济型专用服务器 - 中等负载部署
- 性能专用服务器 - 最佳性能
前提条件
- 以 root 或具有 sudo 权限的用户进行 SSH 访问
- Ubuntu 24.04 LTS 64 位系统
- 指向服务器 IP 的 DNS A 记录(用于 Let's Encrypt)
- 端口 8200(Vault HTTPS)和 80(Certbot,临时)可访问
配置要求
| 组件 | 最低 | 推荐 |
|---|---|---|
| 内存 | 512 MB | 1-2 GB |
| CPU | 1 核 | 2 核 |
| 存储 | 5 GB | 10 GB |
| 网络 | 100 Mbps | 1 Gbps |
Vault 在 8200 端口上通过 HTTPS 监听。Web 界面和 API 使用该端口。
连接服务器
通过 SSH 连接 Ubuntu 服务器(默认端口 22,或自定义端口 / PEM 密钥):
ssh 用户@服务器IP地址
系统更新
安装 Vault 前更新软件包列表:
sudo apt update
sudo apt upgrade -y
从 HashiCorp 仓库安装 Vault
HashiCorp 提供官方 APT 仓库以安装最新稳定版 Vault。安装依赖、添加 GPG 密钥和仓库后执行:
sudo apt update
sudo apt install -y vault
验证:vault --version。可选:vault -autocomplete-install 和 exec $SHELL。
防火墙配置
开放 8200 和 80 端口并重载 UFW。80 端口临时供 Certbot 使用。
Let's Encrypt TLS 证书
安装 Certbot,为域名(如 vault.您的域名.com)申请证书,将 fullchain.pem 和 privkey.pem 复制到 /opt/vault/tls/,设置属主为 vault:vault 和权限 600。在 /etc/letsencrypt/renewal-hooks/deploy/vault.sh 中创建续期脚本,更新证书并重载 Vault。
请将所有命令和文件中的 vault.您的域名.com 替换为您的实际域名。
Vault 生产配置
备份 /etc/vault.d/vault.hcl,然后创建配置:ui = true、storage "file"(path /opt/vault/data)、listener "tcp" 监听 0.0.0.0:8200 并指向 cert.pem 与 key.pem、api_addr 和 cluster_addr 使用您的域名。启用并重启服务:sudo systemctl enable vault、sudo systemctl restart vault。