一些背景信息:我正在使用jenkins 2.190.1 主机在用户foo下的Windows 10计算机上运行(名称已更改以保护我的工作)(我无法使用jenkins用户名) 我有几个Windows 10从站,它们通过ssh使用foo作为用户名连接,并在存储为“带私钥的SSH用户名”的全局凭据中使用foo的私钥 我需要连接一台Linux计算机(CentOS 7),但使用不同的用户名,我们称它为“ bar”(不要问,开发服务至少可以令人讨厌)。 我使用/home/bar/.ssh/id_rsa文件中bar的私钥在全局凭据中将用户bar设置为“带私钥的SSH用户名”。 当我尝试启动linux slave时,我得到以下输出:
SSHLauncher{host='X.X.X.X',
port=22,
credentialsId='af850887-d7c7-4bfd-a75b-a7983ff10866',
jvmOptions='',
javaPath='',
prefixStartSlaveCmd='',
suffixStartSlaveCmd='',
launchTimeoutSeconds=210,
maxNumRetries=10,
retryWaitTime=15,
sshHostKeyVerificationStrategy=hudson.plugins.sshslaves.verifiers.KnownHostsFileKeyVerificationStrategy,
tcpNoDelay=true,
trackCredentials=true}
[11/04/19 15:45:14] [SSH] Opening SSH connection to X.X.X.X:22.
[11/04/19 15:45:14] [SSH] SSH host key matches key in Known Hosts file. Connection will be allowed.
ERROR: Server rejected the 1 private key(s) for bar (credentialId:af850887-d7c7-4bfd-a75b-a7983ff10866/method:publickey)
[11/04/19 15:45:15] [SSH] Authentication failed.
Authentication failed.
[11/04/19 15:45:15] Launch failed - cleaning up connection
[11/04/19 15:45:15] [SSH] Connection closed.
我可以使用我的条状凭证从Windows上的foo帐户SSH到linux计算机。我还为无密码的ssh连接在linux机器上设置了known_hosts和authorized_keys文件,该文件在foo上的终端上运行良好。 所以这是怎么回事? 作为附带说明,我在linux机器上为foo帐户设置了一个帐户,并可以使用带有私钥的SSH用户名将jenkins成功连接到linux机器。但是问题是我需要以bar身份登录linux机器。 任何帮助将不胜感激。