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

Joe*_*and 5 irssi passwords git dotfiles freenode

我正在尝试提出一种将我的点文件存储在 Git 中的策略。到目前为止,我已经在 GitHub 上创建了一个dotfiles 存储库,并且我已经将一个安装脚本放在一起,该脚本只是克隆了该存储库,然后将每个文件符号链接到我的~目录中。

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

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

chatnets = {
  Freenode = {
  type = "IRC";
  autosendcmd = "/msg nickserv identify PASSWORD ; wait 2000";
  ...
Run Code Online (Sandbox Code Playgroud)

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

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

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

相关,但没有真正的解决方案: How to pass bash variables (passwords) to IRSSI config file? 对 Irssi 使用 SASL 并不是一个方便的选择,因为它是在新系统上设置的另一件事,我正在努力使安装过程尽可能简单。

小智 0

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

set my_fastmail_pass="`gpg -dq ~/.config/neomutt/fastmail-password.gpg`"
Run Code Online (Sandbox Code Playgroud)

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