WSO2 MI代理服务用PEM文件连接SFTP失败,密码方式正常求助
问题:WSO2 MI使用PEM文件连接SFTP失败(密码认证正常)
尝试通过WSO2 MI代理服务使用PEM文件连接SFTP服务器,但连接失败;使用密码认证的方式则可正常连接。
代理服务配置
<?xml version="1.0" encoding="UTF-8"?> <proxy name="FileProxy" startOnLoad="true" transports="vfs" xmlns="http://ws.apache.org/ns/synapse"> <target> <inSequence> <property expression="$body" name="FILE_CONTENT" scope="default" type="STRING"/> <log> <property expression="get-property('FILE_CONTENT')" name="[FileProxy] File content"/> </log> </inSequence> <outSequence/> <faultSequence/> </target> <parameter name="transport.PollInterval">15</parameter> <parameter name="transport.vfs.FileURI">vfs:sftp://user@11.22.333.44/home/user/wso2/text.csv?transport.vfs.AvoidPermissionCheck=true</parameter> <parameter name="transport.vfs.ContentType">text/plain</parameter> <parameter name="transport.vfs.SFTPIdentity">/home/user/wso2/test_key.pem</parameter> <parameter name="transport.vfs.SFTPUserDirIsRoot">true</parameter> <parameter name="transport.vfs.FileNamePattern">.*.csv</parameter> <parameter name="transport.vfs.ActionAfterProcess">NONE</parameter> <parameter name="transport.vfs.MoveAfterProcess">vfs:sftp://user@11.22.333.44/home/user/wso2/failure?transport.vfs.AvoidPermissionCheck=true</parameter> <parameter name="transport.vfs.ActionAfterFailure">NONE</parameter> <parameter name="transport.vfs.MoveAfterFailure">vfs:sftp://user@11.22.333.44/home/user/wso2/failure?transport.vfs.AvoidPermissionCheck=true</parameter> </proxy>
连接错误日志
[2023-03-14 12:46:50,719] ERROR {VFSTransportListener} - Repeatedly failed to resolve the file URI: sftp://user@11.22.333.44/home/user/wso2/text.csv?transport.vfs.AvoidPermissionCheck=true org.apache.commons.vfs2.FileSystemException: Could not connect to SFTP server at "sftp://user@11.22.333.44/". 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.scanFileOrDirectory(VFSTransportListener.java:262) at org.apache.synapse.transport.vfs.VFSTransportListener.poll(VFSTransportListener.java:189) at org.apache.synapse.transport.vfs.VFSTransportListener.poll(VFSTransportListener.java:135) 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.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:834) Caused by: org.apache.commons.vfs2.FileSystemException: Could not connect to SFTP server at "11.22.333.44". at org.apache.commons.vfs2.provider.sftp.SftpClientFactory.createConnection(SftpClientFactory.java:164) at org.apache.commons.vfs2.provider.sftp.SftpFileProvider.doCreateFileSystem(SftpFileProvider.java:79) ... 13 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) ... 14 more
内容的提问来源于stack exchange,提问作者Saranya Karuppasamy
相关产品推荐
相关产品推荐

