You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Apache Camel SFTP私钥连接失败:Auth cancel认证错误求助

排查SFTP私钥连接「Auth cancel」错误的步骤

1. 校验私钥格式与JSch兼容性

WinSCP/FileZilla支持多种私钥格式,但JSch对部分新格式支持有限:

  • 若私钥是OpenSSH新格式(开头为-----BEGIN OPENSSH PRIVATE KEY-----),转换为RSA旧格式:
    ssh-keygen -p -m PEM -f /path/to/your/private-key
    
  • 若私钥是PuTTY .ppk格式,用PuTTYgen导出为OpenSSH格式(选择「Conversions > Export OpenSSH key」)

2. 确保JSch版本与Camel适配

Apache Camel 4.0.1默认依赖的JSch可能和com.github.mwiede/jsch存在冲突,需排除自带依赖并指定兼容版本:

<dependency>
    <groupId>org.apache.camel.springboot</groupId>
    <artifactId>camel-sftp-starter</artifactId>
    <exclusions>
        <exclusion>
            <groupId>com.jcraft</groupId>
            <artifactId>jsch</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>com.github.mwiede</groupId>
    <artifactId>jsch</artifactId>
    <version>0.2.17</version>
</dependency>

3. 明确指定私钥配置与文件权限

  • 在Camel SFTP端点中强制指定私钥路径(若有密码需同时配置):
    from("sftp://user@host:port/path")
        .setHeader(SftpConstants.PRIVATE_KEY_FILE, constant("/absolute/path/to/private-key"))
        .setHeader(SftpConstants.PRIVATE_KEY_PASS_PHRASE, constant("your-passphrase"));
    
  • 私钥文件权限需严格设置:Linux/Unix设为600,Windows确保文件未被系统权限锁定

4. 开启调试日志定位协商细节

开启SFTP调试日志,查看认证阶段的具体报错:

from("sftp://user@host:port/path?preferredAuthentications=publickey&debugLevel=3")

重点关注日志中是否出现key_verify failed、invalid key format等关键词,这类信息直接指向私钥兼容性问题

5. 对比目标SFTP服务器的SSH配置差异

因相同配置可连接另一台服务器,需检查目标服务器的sshd_config:

  • 确认PubkeyAuthentication yes已开启
  • 检查AuthorizedKeysFile路径是否正确,且用户公钥已添加至对应文件
  • 查看服务器认证日志(通常在/var/log/auth.log或/var/log/secure),是否存在invalid key、permission denied等记录

错误堆栈参考:

com.jcraft.jsch.JSchException: Auth cancel for methods 'publickey,gssapi-keyex,gssapi-with-mic,password'
    at com.jcraft.jsch.Session.connect(Session.java:519)
    at org.apache.camel.component.file.remote.SftpOperations.connect(SftpOperations.java:147)
    ...

内容的提问来源于stack exchange,提问作者Sedat Göç

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 14:23:24