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

如何全局禁用Camel-SFTP主机验证?附路由代码与日志信息

全局禁用Camel-SFTP主机验证的解决方案

我来帮你搞定这个全局禁用Camel SFTP主机验证的需求,毕竟在测试环境或者内部可信的SFTP服务场景下,这个配置确实能省不少麻烦。

根据你提供的路由代码和日志信息,你可以通过以下两种全局配置方式来实现,不用在每个SFTP端点里重复加参数:

方法一:通过Spring配置文件全局设置(推荐Spring Boot场景)

如果你用的是Spring Boot,直接在application.properties或者application.yml里添加全局SFTP组件配置即可:

Properties格式

# 全局禁用SFTP主机密钥验证
camel.component.sftp.disable-ssh-host-key-verification=true

YAML格式

camel:
  component:
    sftp:
      disable-ssh-host-key-verification: true

方法二:通过Java配置类自定义SFTP组件

如果你的项目更偏向Java代码配置,可以创建一个配置类来全局初始化SFTP组件:

import org.apache.camel.component.file.remote.SftpComponent;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class CamelGlobalSftpConfig {

    @Bean
    public SftpComponent sftpComponent() {
        SftpComponent sftpComponent = new SftpComponent();
        // 开启全局禁用主机验证
        sftpComponent.setDisableSshHostKeyVerification(true);
        return sftpComponent;
    }
}

补充说明

如果你只是想临时在单个路由里禁用验证,也可以在SFTP端点URL里追加参数:

from(String.format("sftp://%s@%s:%d/%s?password=%s&delete=true&readLock=changed&delay=%s&disableHostKeyVerification=true" ...

但既然你要全局生效,前面两种方法更合适,能避免重复配置。

配置完成后,你之前看到的Known host file not configured日志提示就不会再出现,同时Camel会跳过SFTP主机密钥的验证步骤,直接建立连接。

内容的提问来源于stack exchange,提问作者gstackoverflow

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 12:20:05