I have credential.helper=manager-core
,这是 Windows 凭据管理器的新助手。我不明白如果你可以让 git 显示你的凭据,它如何安全git credential fill
.
重现步骤
- 通过执行命令确认凭证助手
git config --system --list
。如果你正在跑步适用于 Windows 的 Git 2.29或者稍后,那么你应该能够看到credential.helper=manager-core
在列表中。对于早期版本credential.helper
被设定为manager
并不是manager-core
。我正在运行最新的适用于 Windows 的 Git 2.29.2,所以对我来说它返回manager-core
.
- 接下来,如果助手已存储您的凭据,则以下命令应在 stdout 上返回凭据:
git credential fill
protocol=https
host=github.com`
<HIT ENTER KEY TWICE, as A blank line signals input completion>
- 凭据现在应该显示在您的控制台上。它能够根据您最初配置 git 的内容显示密码/令牌。就我而言,我已经使用 GitHub 个人访问令牌进行了身份验证,并且它显示了这一点。
您注意到的是,如果您调用git credential fill
与 Git 的方式相同,然后它将输出 Git 用于对您进行身份验证的凭据。这很有用,因为 Git 需要某种方法来获取它们,并且如果需要,您也可以通过以这种方式提取令牌来使用令牌来进行 API 调用。
这是安全的原因是,如果您正确配置了适当的凭证管理器,数据就会以加密格式存储,并且只有在您登录或以其他方式解锁时才会解锁。它在 Windows 上的工作方式取决于您如何配置 Git Credential Manager Core,但是libsecret
我在Linux上使用的helper将加密的数据存储在我的系统钥匙串中,当我登录时该数据会解锁,并且在我未登录时不可用。
请注意,在许多情况下,您可以使用凭证存储使用的其他 API 提取类似的数据,例如(在 Linux 上)secret-tool
等等,所以你可以使用以下命令将其打印到终端git credential fill
与您使用任何其他 API 将其打印到终端或使用系统上使用的典型查看器查看它的能力没有什么不同。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)