如何使用密码管理器为 git push/pull 提供个人访问令牌

Had*_*OMA 5 git security bash shell gitlab

语境

假如说:

  • 我在GitLab上有一个存储库,并且已经将其克隆到我的计算机上。
  • 我有一个 GitLab 令牌,允许我从该存储库推送和拉取。
  • 该代币已保存到我的Bitwarden金库中。
  • 感谢Bitwarden CLI,我可以通过编程方式验证/锁定/解锁我的保管库。

问题

有没有办法以编程方式将 Bitwarden 即时获取的 GitLab 令牌链接/管道到 git Push 和 Pull 命令,以便验证/授权这些操作?

调查

我听说了以下解决方案来解决该问题,但它们不符合我需要面对的安全规则:我无法在磁盘上以纯文本形式存储任何秘密。

  • GitLab 令牌可以放入 gitcredentialshelper.store 文件中。这里,GitLab 令牌需要以纯文本形式存储在存储文件中。
  • 可以修改 git 远程 URL 以在其中包含凭据。这里,GitLab 令牌需要以纯文本形式存储在 git 远程 URL 中。

笔记

  • 我无法使用 SSH 密钥,我需要继续使用 HTTPS 协议。
  • 我的目标 git 版本是官方 Ubuntu 软件包提出的版本(2.17.1在撰写本文时)。

Von*_*onC 2

您可以检查自定义 Git 凭证助手是否AZMCode/git-credential-bw满足您的需要。

这是一个将 Bitwarden CLI 与 Git 集成的项目,以避免多次重新输入密码或管理不同站点的多个 Bitwarden 凭据带来的不便。

git config credential.helper bw
Run Code Online (Sandbox Code Playgroud)