如何设置 Sourcetree,而不需要 Kiln 每次推送/拉取时都输入用户名和密码?

如何设置 Sourcetree,而不需要 Kiln 每次推送/拉取时都输入用户名和密码?

我有一个 Kiln 帐户,用于管理我的存储库。但是,我注意到每次 SourceTree 访问我的 Kiln 帐户时,我都必须输入我的用户名和密码至少 3-4 次。我选中了“将密码保存到钥匙串中”复选框,但这并不能阻止这种行为。

我已经删除了钥匙串中的条目并尝试拉取存储库的新克隆,但现在收到以下错误:

warning: <sub domain>.kilnhg.com certificate with fingerprint fe:ad:65:89:5f:6f:1a:21:a8:33:45:6c:2a:cb:ca:bd:e9:e5:f0:01 not verified (check hostfingerprints or web.cacerts config setting)

而且我仍然需要多次输入用户名/密码。

由于这种情况似乎分为两个部分,因此我正在寻找以下内容:

  1. 我该如何注册窑炉证书以免收到上述错误?
  2. 如何正确设置 Keychain 以便与 Sourcetree 和 Kiln 正常工作?

答案1

您的问题分为两部分,我可以回答证书部分。这似乎是 mercurial 的一个新“功能”:

Mercurial 在 1.7.x 系列中改进了对 HTTPS 的支持。当连接到 HTTPS 服务器时,它现在将正确验证服务器的证书,如果无法确认服务器身份,则拒绝连接 - 但前提是已配置证书颁发机构 (CA)。从 1.7.3 开始,如果尚未配置 CA,Mercurial 将发出警告。

此错误实际上会发生在所有配置不正确的平台上。我建议查看关于 CA 证书的 wiki了解更多详情。对于 Mac OS X 10.6 及更高版本,请执行以下操作:

  1. 在终端运行以下代码:

    • openssl req -new -x509 -extensions v3_ca -keyout /dev/null -out dummycert.pem -days 3650

    这将创建一个“虚拟”证书。输入什么值并不重要

  2. 接下来,将新创建的证书复制到 /etc:
    • sudo cp dummycert.pem /etc/hg-dummy-cert.pem
  3. 最后更改源树存储库的 Web 配置:
    • 打开 Kiln 存储库
    • 在打开的仓库右上角选择设置
    • 选择“编辑配置文件...”
    • 将以下内容粘贴到文件底部:
      • [web] cacerts = /etc/hg-dummy-cert.pem

相关内容