TeamCity和Mercurial通过Linux上的SSH

时间:2012-10-25 15:46:30

标签: linux ubuntu mercurial ssh teamcity

我正在努力让我们的Ubuntu TeamCity服务器通过SSH检出repos。基本上我的问题是,我在哪里指定私钥密码?

在托管teamcity的机器上运行shell并以teamcity运行的用户身份登录时,我可以运行hg clone ssh://hg@localhost/test来克隆存储库“test”。但我必须输入用户的私钥密码。

我的TeamCity项目设置为:

  • 从以下位置拉出更改:hg clone ssh:// hg @ localhost / test
  • 密码:(私钥密码)

点击“测试连接”会导致

Test connection failed in Test :: Test 42. '/usr/bin/hg identify ssh://hg@localhost/test' command failed.
stdout: remote: Permission denied, please try again.
remote: Permission denied, please try again.
remote: Permission denied (publickey,password).

stderr: abort: no suitable response from remote hg!

1 个答案:

答案 0 :(得分:0)

如果密钥对仅用于 TeamCity 服务器与 Mercurial 存储库的交互,这是最简单且仍然安全的解决方案,前提是您保护私钥文件具有限制性足够的访问权限(即 TeamCity 服务器运行的用户的只读权限)是从私钥中删除密码。具有空密码短语的私钥将不再​​提示密码短语,因此不需要用户交互,从而启用自动化解决方案。