正在连接 jenkins 代理:格式错误的 SSH 字节字符串



我在尝试通过 SSH 连接 Jenkins 代理时遇到了这个问题。我已经通过了此处描述的所有步骤:https://acloudguru.com/blog/engineering/adding-a-jenkins-agent-node,除了一个 - 而不是yum install java-1.8.0-openjdk我使用了apt install default-jre,最终给了我openjdk 11.0.13 2021-10-19.在所有尝试启动代理后,我收到错误:

java.io.IOException: Malformed SSH byte string.
at com.trilead.ssh2.packets.TypesReader.readByteString(TypesReader.java:132)
at com.trilead.ssh2.packets.TypesReader.readMPINT(TypesReader.java:117)
at com.trilead.ssh2.signature.RSAKeyAlgorithm.decodePublicKey(RSAKeyAlgorithm.java:113)
at com.trilead.ssh2.signature.RSAKeyAlgorithm.decodePublicKey(RSAKeyAlgorithm.java:28)
at com.trilead.ssh2.KnownHosts.addHostkey(KnownHosts.java:108)
at com.trilead.ssh2.KnownHosts.initialize(KnownHosts.java:410)
at com.trilead.ssh2.KnownHosts.initialize(KnownHosts.java:438)
at com.trilead.ssh2.KnownHosts.<init>(KnownHosts.java:87)
at hudson.plugins.sshslaves.verifiers.KnownHostsFileKeyVerificationStrategy.getPreferredKeyAlgorithms(KnownHostsFileKeyVerificationStrategy.java:108)
at hudson.plugins.sshslaves.SSHLauncher$1.call(SSHLauncher.java:425)
at hudson.plugins.sshslaves.SSHLauncher$1.call(SSHLauncher.java:421)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
[01/04/22 15:30:12] Launch failed - cleaning up connection
[01/04/22 15:30:12] [SSH] Connection closed.

请帮助我了解会发生什么以及如何解决。我是 jenkins 的新手,不熟悉 java。谷歌搜索这个问题并没有给我一些明智的结果。 谢谢。

这很可能是由于已知主机文件的内容不正确。因此,请确保 KnownHosts 文件与 id_rsa.pub(公共文件)的内容正确,如果不正确,则需要在主机名或 IP 地址后添加它。如;

主机名 ssh-rsa AAAAB3NzaC1yc...

最新更新