使用基于密钥的 Spring 云流 SFTP 源私钥属性时,找不到



我在本地 SCDF 服务器仪表板上使用以下定义创建了一个 SFTP 源 (sftp-source-kafka:2.1.0.M2):

sftp --local-dir=/tmp/inbox --filename-pattern=*.csv --task-launcher-output=true --remote-dir=/home/user/csv --private-key=file:/path/to/key/key-file.pem --username=user --host=***** --known-hosts-expression='"/path/to/hostfile/known_hosts"' | log

known_hosts文件和密钥文件都位于 SCDF 服务器和可访问性上。当我启动流时,出现以下错误:

Caused by: java.lang.IllegalArgumentException: either a password or a private key is required
    at org.springframework.util.Assert.isTrue(Assert.java:118)
    at org.springframework.integration.sftp.session.DefaultSftpSessionFactory.getSession(DefaultSftpSessionFactory.java:352)
    at org.springframework.integration.sftp.session.DefaultSftpSessionFactory.getSession(DefaultSftpSessionFactory.java:57)
    at org.springframework.integration.file.remote.RemoteFileTemplate.execute(RemoteFileTemplate.java:438)

如果我在基于密码的 SFTP 服务器上尝试它,该流工作正常。我指定密钥资源是否错误?我只尝试了前面没有"file:"的路径,这会导致相同的错误。

这是源应用程序中的错误;配置会话工厂时,我看不到正在读取的私钥属性。

请打开 GitHub 问题。

最新更新