0
SFTPサーバーに、指定した資格情報を使用してWinSCPに正常に接続できます。しかし、私はエラーを取得するApacheのVFSを使用してJavaからそれをやったときに:Apache vfsとのSFTP接続に失敗しましたが、WinSCPで成功しました
Caused by: org.apache.commons.vfs2.FileSystemException: Could not connect to SFTP server at "sftp://username:***@server_addres/".
at org.apache.commons.vfs2.provider.sftp.SftpClientFactory.createConnection(SftpClientFactory.java:170)
at org.apache.commons.vfs2.provider.sftp.SftpFileProvider.doCreateFileSystem(SftpFileProvider.java:97)
... 22 more
Caused by: com.jcraft.jsch.JSchException: Auth fail
at com.jcraft.jsch.Session.connect(Session.java:512)
at com.jcraft.jsch.Session.connect(Session.java:183)
at org.apache.commons.vfs2.provider.sftp.SftpClientFactory.createConnection(SftpClientFactory.java:166)
私は資格情報をチェックしていると私はWinSCPのに接続しようとすると、彼らは全く同じです。 WinSCPは正常に接続できますが、私のJavaコードは上記のエラーを受け取ります(認証失敗)。
誰かが問題になるかもしれない何か手掛かりを持っていますか?
接続元のマシンのパブリックIP範囲が、ファイアウォールの例外に、もう一方の信頼できるIPとして追加されました。
助けてください、任意のアイデアは非常に感謝しています。
敬具、
misamas
:
だから解決策は、(その進コード%25とURIにパスワードの%記号を置き換えるために)manager.resolveFile()は、このようなメソッドに渡す前に、UriParser.encode(sftpUriを)やっていましたssdhサーバのログファイルをチェックして、それが不平を言うのを見ることができます。たぶん、別の認証方法が必要なのかもしれません。あるいは、いくつかのttyやその他の設定を最初に確立しようとします。 – eckes