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

标签 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复制粘贴私钥,那么它就可以工作。

我做错了什么?

最佳答案

优先顺序为:id_rsa、id_dsa、身份

因此,如果 ~/.ssh/id_rsa 存在,则需要使用 ~/.ssh/id_rsa,如果 id_rsa 丢失,则仅回退到 ~/.ssh/id_dsa。

如果您有多个 key 并且需要显式指定一个 key ,建议指定文件路径或使用复制和粘贴

关于ssh - Jenkins:使用不同的用户名通过 SSH 连接到从属设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16083796/

相关文章:

bash - 使用 SSH key 登录在 Git Bash 上不起作用,但在 Windows 命令提示符中起作用

linux - 如何从 perl 脚本中注销 ssh session ?

ssh - 连接到另一台主机时的pdsh问题

jenkins - 如果标签不匹配,如何中止 Jenkins 管道构建

jenkins - 是否可以在 Jenkinsfile 中放置断点进行调试?

java - Jenkins 作业上的 SBT 持续内存不足

docker - Jenkins管道中的“docker-compose: not found”。尝试为环境添加路径

web - Java applet的基于Web的ssh替代

java - Jenkins 中的编译错误,但 Eclipse 中没有

macos - 假设我知道root密码,如何在OS X中使用标准帐户制作一个sudo本身的Bash脚本?