首页
/ ragenix:NixOS系统的年龄加密秘密管理工具

ragenix:NixOS系统的年龄加密秘密管理工具

2024-09-12 17:56:09作者:侯霆垣

项目介绍

ragenix 是一个专为NixOS系统设计的用于创建、编辑和重置加密秘密的工具,它是agenix的现代替代品,由Rust编写的。此工具利用了高效的age加密库来加强安全性,并特别适配NixOS和macOS环境。ragenix不仅提供了与agenix相似的命令行接口以保障平滑迁移,还增添了对Nix Flakes的全力支持,以及一系列如插件机制、命令行优化、壳补全等功能,提高了管理加密秘密的灵活性和安全性。

项目快速启动

安装

要在你的NixOS系统中安装ragenix,你可以通过Nix命令或者Flake方式添加它。下面是使用Flake的示例:

# 在你的flake.nix文件中添加ragenix
inputs:
  ragenix.url = "github:yaxitech/ragenix";

# 然后更新并启用ragenix
$ nix flake update
$ nix shell .#ragenix --command "ragenix --version"

如果你不在Flake环境中,可以直接安装包:

# 对于NixOS
$ nix-env -iA nixos.ragenix

# 或者对于home-manager
$ home-manager install --packages ragenix

使用示例

创建一个新的加密文件:

$ ragenix --edit /path/to/your-secret.nix

这将会使用默认编辑器打开一个加密的新文件,保存后,该文件会被加密存储。

应用案例和最佳实践

  • 系统激活加密: 在NixOS的配置中,可以设置系统关键配置为加密状态,通过ragenix在系统启动时解密,确保安全性。
  • 团队共享敏感配置: 利用公共密钥分享机制,团队成员可以安全地共享和访问加密后的配置文件,而无需直接暴露秘密信息。
  • 自动化部署: 在CI/CD流程中,使用ragenix加密敏感信息,如API密钥或数据库密码,确保这些数据在传输和部署过程中的安全。

典型生态项目

虽然ragenix本身是独立的,但与Nix生态紧密结合,特别是在结合Nix Flakes时,它可以与多种基础设施自动化工具如Terraform、Ansible等结合,用于自动化配置的部署和管理。此外,其与YubiKey等硬件安全模块的配合使用,通过age-plugin-yubikey,展示了如何增强物理层的安全性,是高级用户和企业级部署中的最佳实践之一。

结合YubiKey的实践

配置ragenix以使用YubiKey进行加密和解密,增加了额外的安全层级:

  1. 确保已安装yubikey-personalizationage-plugin-yubikey
  2. 在你的Nix配置中指定ragenix使用YubiKey插件。
  3. 创建或编辑秘密时指定相应的身份,若已配置YubiKey,ragenix将利用其增强安全性。

通过这种方式,ragenix成为了一个强大的工具,不仅仅局限于基本的秘密管理,而是成为构建高安全性IT架构的基石。

登录后查看全文
热门项目推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
22
6
docsdocs
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
166
2.05 K
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
8
0
openHiTLS-examplesopenHiTLS-examples
本仓将为广大高校开发者提供开源实践和创新开发平台,收集和展示openHiTLS示例代码及创新应用,欢迎大家投稿,让全世界看到您的精巧密码实现设计,也让更多人通过您的优秀成果,理解、喜爱上密码技术。
C
88
568
leetcodeleetcode
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
60
17
apintoapinto
基于golang开发的网关。具有各种插件,可以自行扩展,即插即用。此外,它可以快速帮助企业管理API服务,提高API服务的稳定性和安全性。
Go
22
0
cjoycjoy
一个高性能、可扩展、轻量、省心的仓颉应用开发框架。IoC,Rest,宏路由,Json,中间件,参数绑定与校验,文件上传下载,OAuth2,MCP......
Cangjie
94
15
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
199
279
giteagitea
喝着茶写代码!最易用的自托管一站式代码托管平台,包含Git托管,代码审查,团队协作,软件包和CI/CD。
Go
17
0
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
954
564