如何在使用点文件框架时存储机密信息

如何在使用点文件框架时存储机密信息

我正在尝试想出一个策略来将我的点文件存储在 Git 中。到目前为止,我已经创建了一个GitHub 上的 dotfiles repo我已经编写了一个安装脚本,它只是克隆了 repo,然后将每个文件符号链接到我的~目录中。

然而,我正在努力想出一种方法来将机密信息存储在我的点文件中,但同时确保其中没有任何内容提交到 Git 中。

例如,我有我的 Irssi 配置文件,其中有以下内容:

chatnets = {
  Freenode = {
  type = "IRC";
  autosendcmd = "/msg nickserv identify PASSWORD ; wait 2000";
  ...

现在我正在控制这个点文件的版本,我不能直接在这个文件中存储我的密码。这意味着每次我启动 Irssi 时,我都必须手动identify输入 NickServ,因为PASSWORD这显然不是我的 NickServ 密码。

我尝试查看是否有办法将安全的、非版本控制的文件包含到 Irssi 配置中,但我找不到任何解决方案。

我应该如何存储我的点文件,以便能够存储 Git 之外的点文件所需的密码等机密信息?

相关,但没有真正的解决方案: 如何将 bash 变量(密码)传递给 IRSSI 配置文件? 对 Irssi 使用 SASL 并不是一个方便的选择,因为在新的系统上还需要进行另一项设置,而我试图使安装过程尽可能简单。

答案1

许多程序都支持以某种方式将 shell 命令放入其配置文件中。例如,我的配置文件中有这个.neomuttrc

set my_fastmail_pass="`gpg -dq ~/.config/neomutt/fastmail-password.gpg`"

我认为你可以和 Irssi 做类似的事情。或者,您可以使用git-crypt包含机密的文件。这样,整个文件就被加密了。

相关内容