JAVA连接SFTP服务器报错:cn.hutool.extra.ssh.JschRuntimeException: JSchException: Packet corrupt
以下就是报错信息 而且是第一次没问题,第二次连接就会有问题
2025-11-15T01:39:32.602+08:00 cn.hutool.extra.ssh.JschRuntimeException: JSchException: Packet corrupt
2025-11-15T01:39:32.602+08:00 at cn.hutool.extra.ssh.JschUtil.createChannel(JschUtil.java:392) ~[hutool-all-5.7.6.jar!/:?]
2025-11-15T01:39:32.602+08:00 at cn.hutool.extra.ssh.JschUtil.openChannel(JschUtil.java:367) ~[hutool-all-5.7.6.jar!/:?]
2025-11-15T01:39:32.602+08:00 at cn.hutool.extra.ssh.JschUtil.openSftp(JschUtil.java:306) ~[hutool-all-5.7.6.jar!/:?]
2025-11-15T01:39:32.602+08:00 at cn.hutool.extra.ssh.Sftp.init(Sftp.java:156) ~[hutool-all-5.7.6.jar!/:?]
2025-11-15T01:39:32.602+08:00 at cn.hutool.extra.ssh.Sftp.init(Sftp.java:126) ~[hutool-all-5.7.6.jar!/:?]
2025-11-15T01:39:32.602+08:00 at cn.hutool.extra.ssh.Sftp.init(Sftp.java:145) ~[hutool-all-5.7.6.jar!/:?]
2025-11-15T01:39:32.602+08:00 at cn.hutool.extra.ssh.Sftp.<init>(Sftp.java:80) ~[hutool-all-5.7.6.jar!/:?]
2025-11-15T01:39:32.602+08:00 at cn.hutool.extra.ssh.Sftp.<init>(Sftp.java:69) ~[hutool-all-5.7.6.jar!/:?]
2025-11-15T01:39:32.602+08:00 at cn.hutool.extra.ssh.Sftp.<init>(Sftp.java:55) ~[hutool-all-5.7.6.jar!/:?]
弃用hutool的Jsch
使用以下SSHJ
<dependency> <groupId>com.hierynomus</groupId> <artifactId>sshj</artifactId> <version>0.37.0</version> </dependency>
伪代码连接
import net.schmizz.sshj.SSHClient; import net.schmizz.sshj.sftp.RemoteResourceInfo; import net.schmizz.sshj.sftp.SFTPClient; import net.schmizz.sshj.transport.verification.PromiscuousVerifier; public static List<String> getDownloadFileList(String server, int port, String user, String pass, String remotePath) { try (SSHClient ssh = new SSHClient()) {
ssh.addHostKeyVerifier(new PromiscuousVerifier()); ssh.connect(server, port); ssh.authPassword(user, pass); try (SFTPClient sftp = ssh.newSFTPClient()) { for (RemoteResourceInfo entry : sftp.ls(remotePath)) { // } } } catch (Exception e) { throw new RuntimeException("SFTP list failed", e); } }

浙公网安备 33010602011771号