使用基于密钥的Spring Cloud Stream SFTP源私有密钥属性时找不到

时间:2019-01-30 17:18:34

标签: spring-cloud-stream spring-integration-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服务器和accessibe上。启动流时,出现以下错误:

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:”的路径,这会导致相同的错误。

1 个答案:

答案 0 :(得分:1)

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

请打开一个GitHub Issue