如果显示令牌,git 凭据管理器如何安全
How is git credential manager secure if it displays token
我有 credential.helper=manager-core
,它是 windows 凭证管理器的新帮手。我不明白如果你能让 git 显示你的凭据 git credential fill
是如何安全的。
重现步骤
- 通过执行命令
git config --system --list
确认凭证助手。如果您是 运行 Git for Windows 2.29 或更高版本,那么您应该能够在列表中看到 credential.helper=manager-core
。对于早期版本,credential.helper
设置为 manager
而不是 manager-core
。我是 运行 最新的 Git 对于 Windows 2.29.2 ,所以对我来说 return manager-core
。
- 接下来,如果您的凭据已被助手存储,那么下面的命令应该 return stdout 上的凭据:
git credential fill
protocol=https
host=github.com`
<HIT ENTER KEY TWICE, as A blank line signals input completion>
- 凭据现在应该显示在您的控制台上。它能够根据您最初配置 git 的内容显示 password/token。在我的例子中,我已经使用 GitHub 个人访问令牌进行了身份验证,它显示了 pat。
您注意到的是,如果您以与 Git 相同的方式调用 git credential fill
,那么它将输出 Git 用于验证您的凭据。这很有用,因为 Git 需要一些方法来取出它们,如果需要,您也可以通过以这种方式提取令牌来进行 API 调用来使用令牌。
之所以安全,是因为如果您正确配置了适当的凭据管理器,数据将以加密格式存储,并且只有在您登录或以其他方式解锁时才会解锁。它在 Windows 上的工作方式取决于您如何配置 Git Credential Manager Core,但是我在 Linux 上使用的 libsecret
帮助程序将加密的数据存储在我的系统钥匙串中,它登录时解锁,未登录时不可用
请注意,在许多情况下,您可以使用凭据存储使用的其他 API 提取类似数据,例如 (on Linux) secret-tool
等,因此事实上,您可以使用 git credential fill
将其打印到终端与您使用任何其他 API 将其打印到终端或使用您在系统上使用的典型查看器查看它的能力没有什么不同。
我有 credential.helper=manager-core
,它是 windows 凭证管理器的新帮手。我不明白如果你能让 git 显示你的凭据 git credential fill
是如何安全的。
重现步骤
- 通过执行命令
git config --system --list
确认凭证助手。如果您是 运行 Git for Windows 2.29 或更高版本,那么您应该能够在列表中看到credential.helper=manager-core
。对于早期版本,credential.helper
设置为manager
而不是manager-core
。我是 运行 最新的 Git 对于 Windows 2.29.2 ,所以对我来说 returnmanager-core
。 - 接下来,如果您的凭据已被助手存储,那么下面的命令应该 return stdout 上的凭据:
git credential fill
protocol=https
host=github.com`
<HIT ENTER KEY TWICE, as A blank line signals input completion>
- 凭据现在应该显示在您的控制台上。它能够根据您最初配置 git 的内容显示 password/token。在我的例子中,我已经使用 GitHub 个人访问令牌进行了身份验证,它显示了 pat。
您注意到的是,如果您以与 Git 相同的方式调用 git credential fill
,那么它将输出 Git 用于验证您的凭据。这很有用,因为 Git 需要一些方法来取出它们,如果需要,您也可以通过以这种方式提取令牌来进行 API 调用来使用令牌。
之所以安全,是因为如果您正确配置了适当的凭据管理器,数据将以加密格式存储,并且只有在您登录或以其他方式解锁时才会解锁。它在 Windows 上的工作方式取决于您如何配置 Git Credential Manager Core,但是我在 Linux 上使用的 libsecret
帮助程序将加密的数据存储在我的系统钥匙串中,它登录时解锁,未登录时不可用
请注意,在许多情况下,您可以使用凭据存储使用的其他 API 提取类似数据,例如 (on Linux) secret-tool
等,因此事实上,您可以使用 git credential fill
将其打印到终端与您使用任何其他 API 将其打印到终端或使用您在系统上使用的典型查看器查看它的能力没有什么不同。