--home-directory
的位置与主机系统共享 , 因此套接字创建将失败 。gpg: can't connect to the agent: IPC connect call failedgpg-agent: error binding socket to '/var/www/app/.gitsecret/keys/S.gpg-agent': I/O error
解决此问题,可以通过将其他 gpg 配置文件放在 .gitsecret/keys
目录中,将 gpg
配置为对套接字使用不同的位置:S.gpg-agent
%Assuan%socket=/tmp/S.gpg-agent
s.gpg-agent.ssh%Assuan%socket=/tmp/S.gpg-agent
gpg-agent.confextra-socket /tmp/S.gpg-agent.extrabrowser-socket /tmp/S.gpg-agent.browser
添加、列出和删除用户要添加新用户,必须首先导入其公用 gpg 密钥 。然后运行:email="pascal.landau@example.com"git secret tell "$email"
在这种情况下 , 用户pascal.landau@example.com
现在将能够解密这些密钥 。要显示用户请运行:git secret whoknows$ git secret whoknowspascal.landau@example.com
要删除用户,请运行:email="pascal@example.com"git secret killperson "$email"
这时此命令在 git-secret >= 0.5.0
中已重命名为 removeperson
$ git secret killperson pascal.landau@example.comgit-secret: removed keys.git-secret: now [pascal.landau@example.com] do not have an access to the repository.git-secret: make sure to hide the existing secrets again.
用户 pascal@example.com 将无法再解密这些密钥 。注意删除用户后需要重新加密机密,并轮换加密的密钥 。
添加、列出和删除文件以进行加密运行
git secret add [filenames...]
来为文件加密:git secret add .env
如果 .env
没有被添加到 .gitignore
,git-secret
将显示警告并自动添加 。git-secret: these files are not in .gitignore: .envgit-secret: auto adding them to .envgit-secret: 1 item(s) added.
如已添加,则添加文件时不会发出警告 。$ git secret add .envgit-secret: 1 item(s) added.
只需要添加一次文件 。然后将它们存在 .gitsecret/paths/mapping.cfg
:$ cat .gitsecret/paths/mapping.cfg.env:505070fc20233cb426eac6a3414399d0f466710c993198b1088e897fdfbbb2d5
还可以通过以下方式显示添加的文件:git secret list$ git secret list.env
需要主要的是,这个时候文件尚未加密,如果要从加密中删除文件 , 请运行:git secret list$ git secret list.env
输出:$ git secret remove .envgit-secret: removed from index.git-secret: ensure that files: [.env] are now not ignored.
加密文件要加密文件,请运行:git secret hide
输出:$ git secret hidegit-secret: done. 1 of 1 files are hidden.
所有通过 git secret tell
被添加的用户能够解密这些已经加密的文件,这也意味着每当添加新用户时 , 您都需要再次运行此命令 。解密文件可以通过以下方式解密文件:
git secret reveal
输出:$ git secret revealFile '/var/www/app/.env' exists. Overwrite? (y/N) ygit-secret: done. 1 of 1 files are revealed.
- 文件被解密并将覆盖当前未加密的文件 。
- 使用
-f
选项强制覆盖并以非交互方式运行 。
- 如果只想检查加密文件的内容,可以使用
git secret cat $filename
例如,git secret cat. env
。
gpg
密钥受密码保护时,需要通过 -p
选项传递密码 。以下是密码示例 123456
:git secret reveal -p 123456
显示加密和解密文件间的变化加密文件的一个问题是,无法在远程工具的代码审查期间审查加密文件 。为了了解进行了哪些更改,显示加密文件和解密文件之间的更改能够帮助解决这个问题 。可以通过以下方式完成:git secret changes
输出:$ echo "foo" >> .env$ git secret changesgit-secret: changes in /var/www/app/.env:--- /dev/fd/63+++ /var/www/app/.env@@ -34,3 +34,4 @@ MAIL_ENCRYPTION=null MAIL_FROM_ADDRESS=null MAIL_FROM_NAME="${APP_NAME}"+foo
注意底部的 +foo
. 它是通过在第一行 echo "foo">>>.env
添加的 。本文是git-secret用法的上篇,在下篇中我们将会介绍git-secret的初始设置、Makefile调整等内容,保持关注哦~
推荐阅读
- Docker容器获取宿主机信息
- rx6600和3060哪个好_rx6600和3060选哪个
- 在王者荣耀游戏中,怎么破解上官婉儿的连招
- 王者上官婉儿怎么连招飞天口诀(上官婉儿的6种飞天方法口诀)
- 上官婉儿怎么免伤害连招(上官婉儿怎么玩连招细节)
- 1433223是上官婉儿的连招啊
- 上官婉儿连招技巧(婉儿100%飞天的连招张大仙)
- 上官婉儿怎么连招上天(婉儿怎么100%飞天)
- 上官婉儿怎么连招飞天口诀9种方法(上官婉儿100%飞天连招)
- 上官婉儿有哪些连招(上官婉儿100招口诀)