【问题标题】:Team City Git "Host key verification failed"Team City Git“主机密钥验证失败”
【发布时间】:2016-10-24 14:55:30
【问题描述】:

我想使用 TeamCity 从远程 Git 存储库中提取代码,更新文件(并暂存并提交到本地存储库),然后将提交的文件推送回远程存储库。

拉和更新很好。如果我打开 git-bash 和 git push origin master 然后提交(由提交到本地仓库的更新文件引起)被推送到远程仓库。很好。

如果我尝试使用 Team City 的命令行运行器执行此操作(针对同一个远程目标存储库),则会失败

    [14:49:18][Step 3/7] Host key verification failed.
    [14:49:18][Step 3/7] fatal: Could not read from remote repository.

目标 repo 正在使用 Gerrit 进行身份验证。我已将公钥上传到 Gerrit,并确认 Gerrit 的服务器主机密钥位于 C:\Users\AccountName\.ssh\known_hosts 中。该文件夹还包含公钥和私钥。

我可以使用 git-bash 推送的事实告诉我,密钥位于正确的位置,但我对 Team City 命令行运行程序为什么不使用它们感到困惑。

对于参考,构建步骤的命令参数是-c "git push origin master"

谁能看到我错过了什么?

谢谢

【问题讨论】:

  • 你在使用代理端结账吗?
  • 是的@Sam,代理方
  • 好的,当我们进行服务器端结帐时,我们在推送时遇到了问题,所以这很好(或者不好,因为没有进一步的解决方案)

标签: git teamcity git-bash git-push


【解决方案1】:

您必须将 TeamCity 服务设置为可以访问您的密钥的同一帐户运行。默认情况下,TeamCity 使用“系统”帐户,这就是您的密钥未被使用的原因。

【讨论】:

  • 不过,当您在 TC 中使用 ssh-agent 功能时,我不明白必须手动将密钥放入系统帐户用户文件夹中......
猜你喜欢
  • 2016-01-21
  • 2014-01-31
  • 2016-02-02
  • 1970-01-01
  • 2018-05-15
  • 2012-11-05
  • 2021-12-25
  • 2013-02-16
  • 1970-01-01
相关资源
最近更新 更多