配置 TortoiseGitPlink 以自动加载特定 URL 的密钥

Configure TortoiseGitPlink to autoload key for a specific URL

我正在使用 GoCD 进行持续交付,并且有一个 Material 使用 git 存储库作为源。我最初将 URL 作为 SSH,但它挂了。所以我将它切换到 HTTPS,但是 repo 有一个使用 SSH 的子模块,所以我一直在想办法让 SSH 工作。调试它,它似乎挂在子模块更新上,(具体看起来像进程树中的 TortoiseGitPlink.exe )。所以我猜它正在尝试提示输入密钥(但它是 运行 作为一项服务)。

我正在使用 Git for Windows 并且有 GIT_SSH=C:\Program Files\TortoiseGit\bin\TortoiseGitPlink.exe。大多数时候我使用 pageant.exe 加载我的密钥文件,但我不能这样做,因为 git.exe 是从服务启动的,而不是在活动桌面中。我无法在回购的 git 配置中配置 puttykeyfile,因为回购是即时克隆的。

有什么地方可以全局配置 TortoiseGitPlink.exe 以将指定的密钥文件用于特定的 SSH 路径?我正在使用 BitBucket,所以我需要不同的 SSH 密钥,具体取决于存储库。

经过更多研究,我在这里找到了答案:

https://tortoisegit.org/docs/tortoisegit/tgit-ssh-faq.html#tgit-ssh-faq-defaultkey

如果您使用 plink.exeTortoiseGitPlink.exe,您可以加载 putty.exe 并创建保存的会话,默认会话或以主机命名的会话,并指定要使用的密钥。详情见上文link。当然,你的密钥一定不能有密码。

请注意 putty.exe 将会话存储在当前用户注册表中:HKEY_CURRENT_USER\SOFTWARE\SimonTatham\PuTTY\Sessions 因此如果您的服务是在特定帐户下加载的,您将需要使用该帐户登录并配置 putty.exe.