我正在使用GoCD进行持续交付,并拥有一个使用git存储库作为源的Material。我最初把URL作为SSH,但它挂了。所以我把它切换到HTTPS,但是repo有一个使用SSH的子模块,所以我很难搞清楚SSH工作。调试它,它似乎挂在子模块更新,(特别是它看起来像进程树中的TortoiseGitPlink.exe)。所以我猜它正试图提示输入密钥(但它是作为服务运行的)。
我正在使用Git for Windows并拥有GIT_SSH=C:\Program Files\TortoiseGit\bin\TortoiseGitPlink.exe
。大多数时候我使用pageant.exe
来加载我的密钥文件,但我不能这样做,因为git.exe
是从服务启动的,而不是在活动桌面中。我无法在repo的git配置中配置puttykeyfile
,因为repo是在运行中克隆的。
我是否可以在全局配置TortoiseGitPlink.exe
以使用指定的密钥文件进行特定的SSH路径?我正在使用BitBucket,所以我需要不同的SSH密钥,具体取决于repo。
答案 0 :(得分:3)
经过一番研究后,我在这里找到答案:
https://tortoisegit.org/docs/tortoisegit/tgit-ssh-faq.html#tgit-ssh-faq-defaultkey
如果您使用的是plink.exe
或TortoiseGitPlink.exe
,则可以加载putty.exe
并创建已保存的会话,默认会话或主机命名会话,并指定要使用的密钥。有关详细信息,请参阅上面的链当然,您的密钥不能有密码。
请注意,putty.exe会在当前用户注册表中存储会话:HKEY_CURRENT_USER\SOFTWARE\SimonTatham\PuTTY\Sessions
因此,如果您的服务是在特定帐户下加载的,则需要使用该帐户登录并配置putty.exe
。