Jenkins:通过SSH使用不同的用户名连接到从属设备

时间:2013-04-18 13:05:24

标签: ssh jenkins

我在计算机M1上有一个与用户XXX一起运行的主人。我想在用户YYY的机器M2上运行一个奴隶。

我在两台机器之间有一个私钥 - 公钥,所以我可以这样做:

[XXX@M1]$ ssh YYY@M2

我已经联系了。

在Jenkins中,我为用户名M2创建了凭据,并从Jenkins master~ / .ssh 中选择了选项。但是,当我尝试连接时,它失败了:

[04/18/13 14:58:11] [SSH] Opening SSH connection to M2:22.
ERROR: Failed to authenticate as YYY with credential=c2cdc4dd-cb39-4f15-8329-033933ad5621
java.io.IOException: Publickey authentication failed.

[04/18/13 14:58:11] [SSH] Authentication failed.
hudson.AbortException: Authentication failed.

令人惊讶的是,如果我使用选项直接输入并从~/.ssh/id_dsa复制粘贴私钥,那么它可以正常工作。

我做错了什么?

1 个答案:

答案 0 :(得分:2)

偏好顺序为:id_rsa,id_dsa,identity

如果存在,则需要〜/ .ssh / id_rsa,如果缺少id_rsa,则只返回〜/ .ssh / id_dsa。

如果您有多个密钥并且需要明确指定一个密钥,建议您指定文件的路径或使用copy&粘贴