我正在使用GoCD进行连续交付,并且拥有使用git存储库作为源的Material。我最初使用的URL是SSH,但是它已挂起。因此,我将其切换为HTTPS,但是仓库中有一个使用SSH的子模块,因此我一直想弄清楚SSH是否可以正常工作。在对其进行调试时,它似乎卡在了子模块更新上(特别是看起来像进程树中的TortoiseGitPlink.exe)。因此,我猜测它正在尝试提示输入密钥(但它正在作为服务运行)。

我正在使用Git for Windows并具有GIT_SSH=C:\Program Files\TortoiseGit\bin\TortoiseGitPlink.exe。大多数时候,我使用pageant.exe加载我的密钥文件,但是我不能这样做,因为git.exe是从服务而不是在 Activity 桌面中启动的。我无法在存储库的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并创建保存的 session (默认 session 或以主机命名的 session )并指定要使用的密钥。有关详细信息,请参见上面的链接。当然,您的密钥必须没有密码。

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

关于git - 配置TortoiseGitPlink以自动加载特定URL的 key ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36163639/

10-13 06:40