Jenkins SSH 作业:无法使用公钥进行身份验证

时间:2020-12-21 23:13:31

标签: jenkins ssh

我正在尝试从 jenkins 服务器对另一个远程 Windows 服务器执行 python 脚本。我能够从 jenkins 服务器 ssh 到其他 Windows 服务器并执行脚本,但在尝试通过 jenkins 作业运行它时,我收到以下错误:

[SSH] executing...
ERROR: Failed to authenticate with public key
com.jcraft.jsch.JSchException: invalid privatekey: [B@6a6a5c3e
    at com.jcraft.jsch.KeyPair.load(KeyPair.java:664)
    at com.jcraft.jsch.IdentityFile.newInstance(IdentityFile.java:46)
    at com.jcraft.jsch.JSch.addIdentity(JSch.java:441)
    at org.jenkinsci.plugins.jsch.JSchSSHPublicKeyAuthenticator.doAuthenticate(JSchSSHPublicKeyAuthenticator.java:69)
    at com.cloudbees.jenkins.plugins.sshcredentials.SSHAuthenticator.authenticate(SSHAuthenticator.java:436)
    at com.cloudbees.jenkins.plugins.sshcredentials.SSHAuthenticator.authenticate(SSHAuthenticator.java:473)
    at org.jvnet.hudson.plugins.CredentialsSSHSite.createSession(CredentialsSSHSite.java:122)
    at org.jvnet.hudson.plugins.CredentialsSSHSite.executeCommand(CredentialsSSHSite.java:208)
    at org.jvnet.hudson.plugins.SSHBuilder.perform(SSHBuilder.java:104)
    at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
    at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:803)
    at hudson.model.Build$BuildExecution.build(Build.java:197)
    at hudson.model.Build$BuildExecution.doRun(Build.java:163)
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:513)
    at hudson.model.Run.execute(Run.java:1907)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
    at hudson.model.ResourceController.execute(ResourceController.java:97)
    at hudson.model.Executor.run(Executor.java:429)
[SSH] Exception:Auth fail
com.jcraft.jsch.JSchException: Auth fail
    at com.jcraft.jsch.Session.connect(Session.java:519)
    at org.jvnet.hudson.plugins.CredentialsSSHSite.createSession(CredentialsSSHSite.java:132)
    at org.jvnet.hudson.plugins.CredentialsSSHSite.executeCommand(CredentialsSSHSite.java:208)
    at org.jvnet.hudson.plugins.SSHBuilder.perform(SSHBuilder.java:104)
    at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
    at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:803)
    at hudson.model.Build$BuildExecution.build(Build.java:197)
    at hudson.model.Build$BuildExecution.doRun(Build.java:163)
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:513)
    at hudson.model.Run.execute(Run.java:1907)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
    at hudson.model.ResourceController.execute(ResourceController.java:97)
    at hudson.model.Executor.run(Executor.java:429)
Build step 'Execute shell script on remote host using ssh' marked build as failure
Finished: FAILURE

我已将公钥添加到 C:\ProgramData\ssh\administrators_authorized_keys 文件中。

作业作为系统运行还是作为我使用的服务帐户运行的问题?

0 个答案:

没有答案
相关问题