-
Bug
-
Resolution: Won't Fix
-
Blocker
-
None
-
Jenkins Version: 2.414.3
SSH-Pipline-Steps-Plugin Version: 2.0.68.va_d21a_12a_6476
Description:
The most recent update of the SSH Steps Plugin has led to an algorithm negotiation failure during build executions. This failure is due to a newly introduced dependency on JSch, which no longer supports the SSH-RSA algorithm. The workaround solutions provided in the JSch documentation (found here: https://github.com/mwiede/jsch#fork-of-jsch-0155) to manually re-enable SSH-RSA do not resolve the issue. Our builds are dependent on SSH-RSA as the devices on which they are executed only support this algorithm.
Steps to Reproduce:
- Update the SSH Steps Plugin to the latest version.
- Execute a build that requires an SSH connection to a device that only supports SSH-RSA.
- Observe the error in the build log indicating an algorithm negotiation failure.
Expected Results:
The build should establish a successful SSH connection using the SSH-RSA algorithm.
Actual Results:
The build fails with a com.jcraft.jsch.JSchAlgoNegoFailException, indicating a failure to negotiate the algorithm for server_host_key, with JSch proposing several algorithms but not matching with the server's proposal of "ssh-rsa".
Error Log:
19:03:15 com.jcraft.jsch.JSchAlgoNegoFailException: Algorithm negotiation fail: algorithmName="server_host_key" jschProposal="ssh-ed25519,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,rsa-sha2-512,rsa-sha2-256" serverProposal="ssh-rsa"
<dependency> <groupId>org.jenkins-ci.plugins</groupId> <artifactId>jsch</artifactId> </dependency>
Related Links:
- JSch Fork Documentation: https://github.com/mwiede/jsch#fork-of-jsch-0155
- SSH Steps Plugin Changelog: https://github.com/jenkinsci/ssh-steps-plugin/compare/2.0.65.vd26b_5b_9b_de4d...2.0.68.va_d21a_12a_6476