搬瓦工 VPS Age 现代文件加密工具教程

Age 是由 Go 语言安全专家 Filippo Valsorda 设计的现代文件加密工具,旨在替代 GPG 用于简单的文件加密场景。它的设计理念是简单、安全、无配置,没有 GPG 那样复杂的密钥管理和信任模型,只专注于把文件加密这一件事做好。Age 使用 X25519、ChaCha20-Poly1305 和 HKDF-SHA-256 等现代密码学原语,安全性有充分保障。

一、安装 Age

# Ubuntu / Debian(22.04+)
apt install age -y

# 通过 Go 安装
go install filippo.io/age/cmd/...@latest

# 手动下载安装
wget https://github.com/FiloSottile/age/releases/download/v1.2.0/age-v1.2.0-linux-amd64.tar.gz
tar -xzf age-v1.2.0-linux-amd64.tar.gz
cp age/age age/age-keygen /usr/local/bin/

# 验证安装
age --version

二、密钥管理

# 生成新密钥对
age-keygen -o key.txt
# 输出公钥(以 age1 开头)和私钥(以 AGE-SECRET-KEY- 开头)

# 查看密钥文件
cat key.txt
# # created: 2026-03-28T10:00:00+08:00
# # public key: age1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
# AGE-SECRET-KEY-1XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

# 从密钥文件提取公钥
age-keygen -y key.txt

三、文件加密与解密

3.1 使用公钥加密

# 加密文件(使用接收者的公钥)
age -r age1ql3z7hjy54pw3hyww5ayyfg7zqgvc7w3j2elw8zmrj2kg5sfn9aqmcac8p \
  -o secret.txt.age secret.txt

# 加密给多个接收者
age -r age1... -r age1... -o secret.txt.age secret.txt

# 从文件读取接收者列表
age -R recipients.txt -o secret.txt.age secret.txt

3.2 使用私钥解密

# 解密文件
age -d -i key.txt -o secret.txt secret.txt.age

# 解密到标准输出
age -d -i key.txt secret.txt.age

3.3 使用密码加密

# 密码加密(会提示输入密码)
age -p -o backup.tar.gz.age backup.tar.gz

# 密码解密
age -d -o backup.tar.gz backup.tar.gz.age

四、使用 SSH 密钥加密

Age 支持直接使用已有的 SSH 密钥进行加密,无需额外生成 Age 密钥:

# 使用 SSH 公钥加密
age -R ~/.ssh/id_ed25519.pub -o secret.age secret.txt

# 使用 SSH 私钥解密
age -d -i ~/.ssh/id_ed25519 -o secret.txt secret.age

# 从 GitHub 获取用户的 SSH 公钥进行加密
curl -s https://github.com/username.keys | age -R - -o secret.age secret.txt

五、流加密与管道

# 加密数据库备份(管道方式)
mysqldump -u root mydb | age -r age1... -o /backup/mydb-$(date +%Y%m%d).sql.age

# 解密并恢复
age -d -i key.txt /backup/mydb-20260328.sql.age | mysql -u root mydb

# 加密目录(配合 tar)
tar czf - /var/www | age -r age1... -o /backup/www-$(date +%Y%m%d).tar.gz.age

# 解密并解压
age -d -i key.txt /backup/www-20260328.tar.gz.age | tar xzf - -C /restore/

六、自动化备份加密

cat > /opt/encrypted-backup.sh <<'EOF'
#!/bin/bash
DATE=$(date +%Y%m%d_%H%M%S)
BACKUP_DIR="/backup/encrypted"
AGE_RECIPIENT="age1ql3z7hjy54pw3hyww5ayyfg7zqgvc7w3j2elw8zmrj2kg5sfn9aqmcac8p"

mkdir -p $BACKUP_DIR

# 加密备份数据库
mysqldump -u root --all-databases | \
  age -r $AGE_RECIPIENT -o "$BACKUP_DIR/all-db-$DATE.sql.age"

# 加密备份网站文件
tar czf - /var/www | \
  age -r $AGE_RECIPIENT -o "$BACKUP_DIR/www-$DATE.tar.gz.age"

# 加密备份配置文件
tar czf - /etc/nginx /etc/ssh | \
  age -r $AGE_RECIPIENT -o "$BACKUP_DIR/config-$DATE.tar.gz.age"

# 清理 30 天前的备份
find $BACKUP_DIR -name "*.age" -mtime +30 -delete
EOF

chmod +x /opt/encrypted-backup.sh
echo "0 2 * * * root /opt/encrypted-backup.sh" >> /etc/crontab

七、Age 与 GPG 对比

  • 简单性:Age 没有配置文件、没有密钥环、没有信任模型,上手即用。
  • 安全性:使用现代密码学原语,无历史包袱。
  • SSH 集成:可以直接使用 SSH 密钥,不需要额外管理。
  • 功能范围:Age 只做加密,不支持签名(签名请用 GPGCosign)。

总结

Age 是搬瓦工 VPS 上最简洁好用的文件加密工具,特别适合备份加密、敏感文件保护等场景。它还是 SOPS 配置文件加密的推荐后端之一。如果需要数字签名功能,请使用 GPG。选购搬瓦工 VPS 请参考 全部方案,购买时使用优惠码 NODESEEK2026 可享受 6.77% 的折扣,通过 bwh81.net 进入官网购买。

关于本站

搬瓦工VPS中文网(bwgvps.com)是非官方中文信息站,整理搬瓦工的方案、优惠和教程。我们不销售主机,不提供技术服务。

新手必读
搬瓦工优惠码

NODESEEK2026(优惠 6.77%)

购买时填入即可抵扣。