簡體   English   中英

WSO2 ESB:SFTP 文件傳輸:無法連接到 SFTP 服務器

[英]WSO2 ESB: SFTP file transfer: Could not connect to SFTP server

我正在嘗試使用 WSO2 Enterprise Integrator 6.3.0 將一些文件從本地服務器傳輸到 SFTP 服務器。 我有用戶名、SFTP 位置、SFTP 端口(990)、ppk 文件和密碼短語。 當我在代理服務中嘗試以下配置時,我無法連接到 SFTP 服務器。 它給出了 com.jcraft.jsch.JSchException: Auth fail 錯誤。 使用膩子,連接有效。

<?xml version="1.0" encoding="UTF-8"?>
<proxy name="SFTPFileTransferProxy" startOnLoad="true"
  trace="disable" transports="vfs" xmlns="http://ws.apache.org/ns/synapse">
  <target>
    <inSequence>
      <property expression="$trp:FILE_NAME" name="FILE_NAME"
        scope="default" type="STRING"/>
      <log level="custom">
        <property expression="$ctx:FILE_NAME" name="FL2"/>
        <property name="sequence" value="FTPProxy"/>
      </log>
    </inSequence>
    <outSequence/>
    <faultSequence/>
  </target>
  <parameter name="transport.PollInterval">10000ms</parameter>
  <parameter name="transport.vfs.FileURI">file:///C:/files/out</parameter>
  <parameter name="transport.vfs.ContentType">text/plain</parameter>
  <parameter name="transport.vfs.ActionAfterProcess">MOVE</parameter>
  <parameter name="transport.vfs.MoveAfterFailure">file:///C:/test/failure</parameter>
  <parameter name="transport.vfs.SFTPIdentities">file:///C:/sftp/keys/PrivateKey_Integration.ppk</parameter>
  <parameter name="transport.vfs.ActionAfterFailure">MOVE</parameter>
  <parameter name="transport.vfs.FileNamePattern">.*\.csv</parameter>
  <parameter name="transport.vfs.MoveAfterProcess">vfs:sftp://username@sftp.XXXX.com:990/in/file/</parameter>
  <parameter name="transport.vfs.SFTPIdentityPassPhrase">KEY_PASSPHRASE</parameter>
</proxy>

我得到的錯誤是

[2019-02-04 12:48:31,823] [] ERROR - VFSTransportListener File object 'file:///C:/files/out/20181226FULL.csv'cloud not be moved, will remain in "locked" state
org.apache.axis2.AxisFault: Error resolving directory to move after processing : sftp://username@sftp.XXXX.com:990/in/file
        at org.apache.axis2.transport.base.AbstractTransportListener.handleException(AbstractTransportListener.java:343)
        at org.apache.synapse.transport.vfs.VFSTransportListener.moveOrDeleteAfterProcessing(VFSTransportListener.java:715)
        at org.apache.synapse.transport.vfs.VFSTransportListener.scanFileOrDirectory(VFSTransportListener.java:504)
        at org.apache.synapse.transport.vfs.VFSTransportListener.poll(VFSTransportListener.java:188)
        at org.apache.synapse.transport.vfs.VFSTransportListener.poll(VFSTransportListener.java:134)
        at org.apache.axis2.transport.base.AbstractPollingTransportListener$1$1.run(AbstractPollingTransportListener.java:67)
        at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.commons.vfs2.FileSystemException: Could not connect to SFTP server at "sftp://username@sftp.XXXX.com:990/".
        at org.apache.commons.vfs2.provider.sftp.SftpFileProvider.doCreateFileSystem(SftpFileProvider.java:86)
        at org.apache.commons.vfs2.provider.AbstractOriginatingFileProvider.getFileSystem(AbstractOriginatingFileProvider.java:149)
        at org.apache.commons.vfs2.provider.AbstractOriginatingFileProvider.findFile(AbstractOriginatingFileProvider.java:111)
        at org.apache.commons.vfs2.provider.AbstractOriginatingFileProvider.findFile(AbstractOriginatingFileProvider.java:81)
        at org.apache.commons.vfs2.impl.DefaultFileSystemManager.resolveFile(DefaultFileSystemManager.java:778)
        at org.apache.commons.vfs2.impl.DefaultFileSystemManager.resolveFile(DefaultFileSystemManager.java:658)
        at org.apache.synapse.transport.vfs.VFSTransportListener.moveOrDeleteAfterProcessing(VFSTransportListener.java:667)
        ... 8 more
Caused by: org.apache.commons.vfs2.FileSystemException: Could not connect to SFTP server at "sftp.XXXX.com".
        at org.apache.commons.vfs2.provider.sftp.SftpClientFactory.createConnection(SftpClientFactory.java:164)
        at org.apache.commons.vfs2.provider.sftp.SftpFileProvider.doCreateFileSystem(SftpFileProvider.java:79)
        ... 14 more
Caused by: com.jcraft.jsch.JSchException: Auth fail
        at com.jcraft.jsch.Session.connect(Session.java:519)
        at com.jcraft.jsch.Session.connect(Session.java:183)
        at org.apache.commons.vfs2.provider.sftp.SftpClientFactory.createConnection(SftpClientFactory.java:162)
        ... 15 more

如何使用 SFTPIdentities 連接 SFTP 服務器?

在 Windows 上嘗試如下鍵路徑。 這個對我有用。

<parameter name="transport.vfs.SFTPIdentities">/sftp/keys/PrivateKey_Integration.ppk</parameter>

在 Ubuntu 上,我給出的關鍵路徑為

<parameter name="transport.vfs.SFTPIdentities">/home/sbhatti/.ssh/key.ppk</parameter>

但它不起作用,並給出與上述問題相同的異常。 任何人有任何想法? 我們如何調試和應用正確的路徑?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM