如何安装和使用 Git-Secret

什么是 Git 秘密?

Git-secret 是一个 bash 用于将您的私人文件和信息存储在您服务器上的 git 存储库中的工具。 git-secret 工具允许我们加密存储在安全加密存储库中的敏感文件。 在本文中,我们将研究在 18.04 Ubuntu 服务器上安装和使用 git-secret 的过程。

先决条件:

  • 18.04 Ubuntu 服务器
  • 一个用户 sudo 权限或以 root 用户身份登录
  • 已安装 Git 版本 2.7.0 >
  • gpg (GnuPG) 版本 2.2.4 >

安装

为了安装 git-secret,我们首先将第三方存储库添加到我们的 /etc/apt/sources.list 文件中。

echo "deb https://dl.bintray.com/sobolevn/deb git-secret main" | sudo tee -a /etc/apt/sources.list

一旦完成,我们就可以下载并安装存储库的 gpg 密钥。 为此,我们使用 bash 命令:

wget -qO - https://api.bintray.com/users/sobolevn/keys/gpg/public.key | sudo apt-key add -

接下来,我们可以使用正常的安装命令安装 git-secret。

sudo apt-get update && sudo apt-get install git-secret

添加 GPG 密钥

一旦我们安装了 git-secret,我们需要添加一个 gpg 密钥对来加密我们的数据。 如果您没有 gpg 密钥对设置,则必须创建一个。 为此,我们使用 gpg 命令:

gpg --full-generate-key

为了创建您的密钥,您需要回答一些关于您是谁、您想使用什么电子邮件地址和密码的问题。 然后 GPG 收集随机种子数据并通过输出密钥对完成,一个是公共的,一个是私有的。 完成后,我们可以继续下一步合并 git-secret。

如何使用 Git-秘密

我们的初始任务是使用以下命令初始化 git-secret 存储库:

git-secret init

如果您尚未设置本地 git 存储库,则会提示您现在创建或初始化一个。 我们可以使用以下命令完成此操作:

git init

完成后,我们将返回并重新运行命令:

git-secret init

然后,我们需要添加一个与新密钥对关联的电子邮件地址,类似于上面创建 gpg 密钥对时所做的。 为此,请使用以下命令:

git-secret tell [email protected]

此电子邮件应与您用于 gpg 密钥的电子邮件地址相同。

现在我们可以开始使用以下命令将文件添加到您的新秘密仓库:

git-secret add filename.ext

我们还可以通过简单地在文件名之间留一个空格来添加多个文件,如下所示:

git-secret add file1.ext file2.ext file3.ext file4.ext

将文件添加到秘密存储库后,我们可以使用以下命令安全地加密它们:

git-secret hide

现在我们已经保护了这些文件,我们可以提交我们的更改。 我们建议将 git-secret 命令合并到您的 git-hook 配置中,以确保您的更改得到适当的记录。

作为旁注, Git 钩子脚本 对于在提交代码审查之前识别简单问题很有用。 您可以在所有提交上运行挂钩脚本,以自动指出代码中的小问题,例如缺少分号、尾随空格和调试语句。

要解密一个或多个文件,我们可以使用以下命令:

git-secret reveal

添加用户

如果您与其他开发人员共享存储库并需要将他们添加为用户,我们需要使用以下命令导入他们的公共 gpg 密钥:

gpg --import key.txt

此步骤对于允许与您一起处理项目的其他开发人员加密和解密您的存储库中的文件很有用。 输入密钥后,我们可以使用以下命令将它们添加到秘密存储库中:

git-secret tell [email protected]

此条目会将用户的电子邮件与最近导入的 gpg 密钥相关联。 完成后,这些开发人员现在可以访问存储库中的数据。 然后,他们将能够使用他们的 gpg 密钥密码处理文件,这将加密和解密文件。

最后,我们可以使用以下命令查看文件的内容:

git secret cat

如果数据被加密,git-secret/gpg 会要求你输入密码来解密文件。

而已! 您现在应该对 git-secret 及其提供的许多好处有很好的工作知识。 这里是 git-secret 的完整文档.

我们的支持团队充满了才华横溢的 Linux 技术人员和系统管理员,他们对多种网络托管技术(尤其是本文中讨论的技术)有着深入的了解。 如果您是完全托管的 VPS 服务器, Cloud 专用,VMWare 私有 Cloud, 私人父服务器或专用服务器所有者,并且您对执行列出的任何步骤感到不舒服,可以通过电话@800.580.4985 与我们联系,一个 聊天 或支持票以协助您完成此过程。