Uploaded image for project: 'Camel'
  1. Camel
  2. CAMEL-4506

The SFTP component: the keyboard-interactive auth method support

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • 2.8.1
    • 2.8.2, 2.9.0
    • camel-ftp
    • None
    • Unknown

    Description

      As it was discussed in this topic http://camel.465427.n5.nabble.com/The-SFTP-component-the-keyboard-interactive-auth-method-support-td4853523.html
      The SFTP component may be slightly improved to support the keyboard-interactive auth method and the compression,

      Preamble:
      It appeared that our sftp share we get files from doesn't support the ssh password auth method and we're not allowed to put the public key to there. So the only ssh auth method we can use is the keyboard-interactive. Unfortunately the SFTP camel component doesn't support this.
      However this can be easily fixed simply by providing the Jsch session with both the com.jcraft.jsch.UserInfo and com.jcraft.jsch.UIKeyboardInteractive interfaces. The UIKeyboardInteractive has the only one promptKeyboardInteractive method which returns String[] containing the password entered by user interactively. In our case I simply return a password.
      The implementation example is attached.

      Also it's sometime required to set the ssh compression to be able to process longsize files. The compression fix is also implemented in the attached file. Compression requires the zlib jar to be in the pom.
      This was tested with the 0.1.44-1 version of the jsch and the 1.0.7 version of the jzlib.

      Attachments

        1. SftpExtendedEndpoint.java
          2 kB
          Eugene Kiselev

        Activity

          People

            hadrian Hadrian Zbarcea
            ujeen Eugene Kiselev
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: