NiFi ListSFTP连接器无法连接到sftp服务器

时间:2020-03-19 15:01:28

标签: authentication apache-nifi

我无法让ListSFTP处理器正常工作。

首先,我已经测试过使用NiFi服务器上的命令行访问sftp服务器。可以,但是我必须提供ssh私钥文件的密码。

然后,我确保使用与sftp命令行相同的设置来配置ListSFTP处理器:

  • 主机名:服务器的IP地址
  • 端口:22
  • 用户名:有权访问服务器并绑定到密钥的用户名
  • 私钥路径:设置为包含的文件的完整路径
  • 私人密钥短语:密钥文件的密码
  • 远程路径:。
  • 严格的主机密钥检查:false
  • 主机密钥文件:文件帽子包含ssh-keyscan的输出,用于 给定服务器

使用这些设置,我在日志文件中得到一个错误。 NiFi为什么无法访问密钥文件和访问sftp服务器的任何想法。干杯

2020-03-19 15:43:19,736错误[计时器驱动的进程线程2] o.a.nifi.processors.standard.ListSFTP ListSFTP [id = d343fa19-0170-1000-3352-999829a448cc]执行失败 由于java.io.IOException在远程主机上列出:无法获取c 由于com.jcraft.jsch.JSchException连接到远程主机:无效 私钥:[B @ 6d9b662:{} java.io.IOException:无法获取 由于com.jcraft.jsch.JSchException连接到远程主机: 无效的私钥:[B @ 6d9b662 在org.apache.nifi.processors.standard.util.SFTPTransfer.getChannel(SFTPTransfer.java:515) 在org.apache.nifi.processors.standard.util.SFTPTransfer.getListing(SFTPTransfer.java:212) 在org.apache.nifi.processors.standard.util.SFTPTransfer.getListing(SFTPTransfer.java:175) 在org.apache.nifi.processors.standard.ListFileTransfer.performListing(ListFileTransfer.java:106) 在org.apache.nifi.processors.standard.ListSFTP.performListing(ListSFTP.java:146) 在org.apache.nifi.processor.util.list.AbstractListProcessor.listByTrackingTimestamps(AbstractListProcessor.java:472) 在org.apache.nifi.processor.util.list.AbstractListProcessor.onTrigger(AbstractListProcessor.java:414) 在org.apache.nifi.processor.AbstractProcessor.onTrigger(AbstractProcessor.java:27) 在org.apache.nifi.controller.StandardProcessorNode.onTrigger(StandardProcessorNode.java:1162) 在org.apache.nifi.controller.tasks.ConnectableTask.invoke(ConnectableTask.java:209) 在org.apache.nifi.controller.scheduling.TimerDrivenSchedulingAgent $ 1.run(TimerDrivenSchedulingAgent.java:117) 在org.apache.nifi.engine.FlowEngine $ 2.run(FlowEngine.java:110) 在java.util.concurrent.Executors $ RunnableAdapter.call(Executors.java:511) 在java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) 在java.util.concurrent.ScheduledThreadPoolExecutor $ ScheduledFutureTask.access $ 301(ScheduledThreadPoolExecutor.java:180) 在java.util.concurrent.ScheduledThreadPoolExecutor $ ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) 在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 在java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:624) 在java.lang.Thread.run(Thread.java:748)导致原因:com.jcraft.jsch.JSchException:无效的私钥:[B @ 6d9b662 在com.jcraft.jsch.KeyPair.load(KeyPair.java:664) 在com.jcraft.jsch.KeyPair.load(KeyPair.java:561) 在com.jcraft.jsch.IdentityFile.newInstance(IdentityFile.java:40) 在com.jcraft.jsch.JSch.addIdentity(JSch.java:407) 在com.jcraft.jsch.JSch.addIdentity(JSch.java:388) 在org.apache.nifi.processors.standard.util.SFTPTransfer.getChannel(SFTPTransfer.java:485) ...省略了18个常见框架

0 个答案:

没有答案