Bash 如何使用密码管理器向git推/拉提供个人访问令牌 上下文

Bash 如何使用密码管理器向git推/拉提供个人访问令牌 上下文,bash,git,shell,security,gitlab,Bash,Git,Shell,Security,Gitlab,假设: 我在上有一个存储库,我已经在我的机器上克隆了它 我有一个GitLab令牌,允许我从这个存储库推送和拉送到这个存储库 此令牌已保存到我的保险库中 多亏了,我可以通过编程方式对vault进行身份验证/锁定/解锁 问题: 是否有一种方法可以通过编程将Bitwarden动态获取的GitLab令牌链接/管道到git push和pull命令,以便对这些操作进行身份验证/授权 调查 我听说了以下解决方案,但它们不符合我需要面对的安全规则:我不能在磁盘上以明文存储任何机密 GitLab令牌可以放在

假设:

  • 我在上有一个存储库,我已经在我的机器上克隆了它
  • 我有一个GitLab令牌,允许我从这个存储库推送和拉送到这个存储库
  • 此令牌已保存到我的保险库中
  • 多亏了,我可以通过编程方式对vault进行身份验证/锁定/解锁
问题: 是否有一种方法可以通过编程将Bitwarden动态获取的GitLab令牌链接/管道到git push和pull命令,以便对这些操作进行身份验证/授权

调查 我听说了以下解决方案,但它们不符合我需要面对的安全规则:我不能在磁盘上以明文存储任何机密

  • GitLab令牌可以放在git credentials helper.store文件中。这里,GitLab令牌需要以纯文本形式存储在存储文件中
  • git远程URL可以修改为包含凭据。这里,GitLab令牌需要以纯文本形式存储在git远程url中
笔记
  • 我不能使用SSH密钥,我需要使用HTTPS协议
  • git版本I的目标是从官方Ubuntu软件包中提出的(
    2.17.1

您可以检查自定义Git凭证助手是否满足您的需要

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


您是否看过
git凭证
文档的部分?这似乎包含了您需要的几乎所有内容。嘿@larsks,不,我没有看,但现在我已经阅读了它(以及@VonC建议的AZMCode/git credential bw中的代码),这似乎非常适合我的用例。我现在需要处理实现细节,我将回到这里给出反馈。@larsks我使用的git版本是
2.17.1
,文档中没有相同内容的
自定义帮助程序部分(2.13.7版本几乎为空)。你知道这是新推出的功能,还是只是文档最近更新了?我不知道文档是什么时候更改的。你可能想升级你的Git;当前版本是2.29.2。@HadrienTOMA我不知道(我不认为您需要升级:即使在2.17版本中,任何
git凭证xxx
可执行文件仍将被视为自定义帮助程序。这似乎很有趣,我需要更简单的东西,但我认为我将能够提取我想要的部分。非常感谢,我将在这里回顾我的进展。
git config credential.helper bw