尝试从 Jenkins 访问 Bitbucket 时 SSH 身份验证失败

尝试从 Jenkins 访问 Bitbucket 时 SSH 身份验证失败

我目前正在尝试在 Azure 中设置一个 Jenkins CI 服务器,该服务器从 Bitbucket 中提取项目并运行测试。CI 服务器正在运行 Ubuntu 14.10。

我让服务器运行起来,用 ssh-keygen 生成 ssh 密钥(无密码),并在 Bitbucket 的部署密钥下添加了公钥。如果我输入 ssh -T[电子邮件保护]以用户 jenkins 身份通过控制台进行 SSH 会话时,我获得:

ssh -T [email protected]
authenticated via a deploy key
You can use git or hg to connect to Bitbucket. Shell access is disabled.

我也可以从 Bitbucket git clone 项目,因为 SSH 密钥在命令行中有效。但是,当我通过 Jenkins 控制面板 (Configure) 添加新构建时。我添加的 GIT 凭据如下:

Repository URL: [email protected]:name/project_name.git
Credentials: the private key in /var/lib/jenkins/.ssh/id_rsa

我收到的错误

Failed to connect to repository : Command "git ls-remote -h [email protected]:name/project_name.git HEAD" returned status code 128:
stdout:
stderr: Permission denied (publickey).
fatal: Could not read from remote repository.

尝试构建时,我收到与上述相同的错误。有什么线索可以告诉我我可能做错了什么吗?据我所知,除非另有说明,否则 Jenkins 使用用户“jenkins”,而这就是我在命令行中“通过部署密钥进行身份验证”时使用的用户。

感谢所有的答案 :)

相关内容