Hudson(Jenkins)和远程git存储库获得权限被拒绝

时间:2011-06-12 21:06:24

标签: git ssh hudson jenkins gitosis

我已经设置hudson从我的远程git存储库中检出但是我得到了

**Permission denied (publickey,gssapi-keyex,gssapi-with-mic,keyboard-interactive).**

我的git存储库使用gitosis并在我通过命令行克隆时工作。 Hudson作为同一个用户运行

这是日志的一大部分,主题名和目录已编辑

Checkout:workspace / /Users/me/.hudson/jobs/HudsonJob/workspace - hudson.remoting.LocalChannel@363adfb4
Cloning the remote Git repository
Cloning repository origin
ERROR: Error cloning remote repo 'origin' : Could not clone gitosis@myserver:myproject
ERROR: Cause: Error performing command: /opt/local/bin/git clone -o origin gitosis@myserver:myproject /Users/me/.hudson/jobs/HudsonJob/workspace
Command "/opt/local/bin/git clone -o origin gitosis@myserver:myproject /Users/me/.hudson/jobs/HudsonJob/workspace" returned status code 128: Cloning into /Users/me/.hudson/jobs/HudsonJob/workspace...
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,keyboard-interactive).
fatal: The remote end hung up unexpectedly

我还尝试从命令行运行以下命令

/opt/local/bin/git clone -o origin gitosis@myserver:myproject /Users/me/.hudson/jobs/HudsonJob/workspace

它有效,但我必须指定一个密码才能工作。

我的猜测是hudson构建失败,因为它必须提示输入密码。 通常我认为将我的公钥添加到.ssh /授权密钥可以完成这项工作,但gitosis的授权密钥会使用一些额外的命令自动生成该公钥。

所以我想知道如何在不输入密码的情况下允许hudson访问?

1 个答案:

答案 0 :(得分:2)

首先,我建议使用gitolite,因为不再积极开发gitosis。

使用不需要密码的密钥。