Hey Dave, Try to take a look in which UserAuth implementation you are using. In my case, I was using com.jcraft.jsch.UserAuthPassword and I could debug and see that my password changed because I was not using the RAW() function.
You can see the implementation in your Session class, line 380: UserAuth ua=null; try{ Class c=Class.forName(getConfig("userauth.none")); ua=(UserAuth)(c.newInstance()); } catch(Exception e){ throw new JSchException(e.toString(), e); } Good luck! Abraços, Luis Felipe - Finx On Wed, Mar 8, 2017 at 4:59 AM, Claus Ibsen <claus.ib...@gmail.com> wrote: > There is camel-exec to call executables such as .exe files. > http://camel.apache.org/exec > > You can also build your own components if you fancy > > On Wed, Mar 8, 2017 at 1:16 AM, David Hoffer <dhoff...@gmail.com> wrote: > > The password does contain @ and # characters. However we are able to > > connect with those no problem in our test enviornment, no need for the > > RAW() function. Also it turns out the username contains a '.' character > > but here too no problem in our test/dev environment. But in production > > where we have no control over the remote server it fails to connect. > Here > > is a close approximation of the Debug stack trace. > > > > Failed delivery for (MesasgeId: ID-xxxxxx) using exchange (Message:bbb) > > > > Message exchange has failed so breaking out of pipeline for exchange: > > Exchange [Message:bbb] Exception: > > org.apache.camel.component.file.GenericFileOperationFailedException: > cannot > > connect to sftp://jms.sftp@ip > > > > Done processing file: GenericFile [E:\gangplank\work\filepathhere.txt] > > > > Renaming file: GenericFile [E:\filepath] to GenericFile [E:\filepathto > > .error dir] > > > > Caused by: com.jcraft.jsch.JSchException: Auth Fail > > > > Caused by com.jcraft.jsch.Session.connect (Session.java: 512) > > > > Org.apache.camel.component.file.GenericFileOperationFailedException > > > > Org.apache.camel.component.file.remote.sftpOperations.connect > > (sftpOperations.java: 146) > > > > > > Also the production environment is locked down so that SSH is not > > accessible for this user but SFTP is. However in production we did > > temporarily allow SSH and that did not help and also in test/dev we > > disabled SSH and Camel/JSCH can connect fine. > > > > So everything works as expected everywhere expect production where it > > matters. But in production psftp.exe can connect fine. > > > > Does anyone have any ideas how to fix? > > > > Does Camel support any other SFTP clients other than JSCH? > > > > How about a Camel component that bridges to psftp.exe since that can > > connect? > > > > -Dave > > > > On Mon, Mar 6, 2017 at 5:56 AM, finx <oieusouof...@gmail.com> wrote: > > > >> Yeah... I thought the same, until I got a password with special chars > and I > >> spent like two days investigating why the connection fails! > >> > >> Not sure if RAW() can be used for other parameters... I think that is > >> possible, but I never tried. Only can be sure testing it. > >> > >> Good luck! > >> > >> Abraços, > >> Luis Felipe - Finx > >> > >> On Mon, Mar 6, 2017 at 12:40 AM, David Hoffer <dhoff...@gmail.com> > wrote: > >> > >> > Thanks for the tip I did not know about this. I would think Camel > would > >> > want to treat all passwords as raw...can never tolerate those > changing. > >> > Once we get back on site (Monday I think) we will give this a try...I > >> hope > >> > this fixes the connection with Camel. > >> > > >> > Btw, what if the username or folder had a special character? Can > RAW() > >> be > >> > used for any parameter? > >> > > >> > -Dave > >> > > >> > On Sat, Mar 4, 2017 at 9:19 AM, finx <oieusouof...@gmail.com> wrote: > >> > > >> > > Hi Dave. > >> > > > >> > > Does the password have special characters? I faced a similar > situation, > >> > and > >> > > the solution was to use the RAW function ( > >> > > http://camel.apache.org/how-do-i-configure-password- > >> > > options-on-camel-endpoints-without-the-value-being-encoded.html) > >> > > in the password. > >> > > > >> > > Abraços, > >> > > Luis Felipe - Finx > >> > > > >> > > On Fri, Mar 3, 2017 at 11:52 PM, David Hoffer <dhoff...@gmail.com> > >> > wrote: > >> > > > >> > > > We are using password authentication > >> > > > > >> > > > We have log4j configured but aren't seeing any connection > handshake > >> log > >> > > > messages with debug enabled but I'm not sure what JSCH (the actual > >> > > > connection library) has for logging. > >> > > > > >> > > > Our situation is we have an SFTP server that we have no control > over > >> > that > >> > > > is refusing to connect with Camel. However we can connect with > fsftp > >> > > > fine. SSH is disabled so cannot connect with putty. However > when we > >> > > setup > >> > > > a similar linux server locally camel connects to it just fine. We > >> are > >> > > > trying to figure out why it fails for this one connection we have > no > >> > > > control or system information of (e.g. we can't get on the box > that > >> is > >> > > > failing to accept our connection and check logs/etc). > >> > > > > >> > > > -Dave > >> > > > > >> > > > On Fri, Mar 3, 2017 at 5:41 PM, S AR <sa_remin...@hotmail.com> > >> wrote: > >> > > > > >> > > > > What errors do you receive? > >> > > > > > >> > > > > Are you using password authentication or privateKey > authentication? > >> > > > > > >> > > > > If you are using privateKey, Have you generated a private key > file? > >> > > > > > >> > > > > Regarding logging, since camel uses log4j2, you can configure an > >> > > appender > >> > > > > for the classes in the package: org.apache.camel.component.file > >> > > > > > >> > > > > In log4j2, that means, you should have something like this: > >> > > > > > >> > > > > appender.mylogger.type = Console > >> > > > > appender.mylogger.name = MYLOGGER > >> > > > > appender.mylogger.layout.type = PatternLayout > >> > > > > appender.mylogger.layout.pattern = %d %p %C{1.} [%t] %m%n > >> > > > > > >> > > > > logger.mylogger.name = org.apache.camel.component.file > >> > > > > logger.mylogger.level = debug > >> > > > > logger.mylogger.additivity = false > >> > > > > logger.mylogger.appenderRef.mylogger.ref = MYLOGGER > >> > > > > > >> > > > > Regards. > >> > > > > > >> > > > > On 03.03.2017 18:16, David Hoffer wrote: > >> > > > > > >> > > > > Is there a way to turn on low level logging so we can see why > Camel > >> > is > >> > > > > failing to connect? We can connect to the same server with > >> puttyftp > >> > > and > >> > > > > put files but not with camel...and the errors are not very > >> detailed. > >> > > > > > >> > > > > -Dave > >> > > > > > >> > > > > On Fri, Mar 3, 2017 at 9:54 AM, S AR <sa_remin...@hotmail.com>< > >> > mailto: > >> > > > > sa_remin...@hotmail.com> wrote: > >> > > > > > >> > > > > > >> > > > > > >> > > > > Hello David, > >> > > > > > >> > > > > When I work with camel-sftp, The first thing I do is to manually > >> > > connect > >> > > > > to the remote machine via ssh, so that my knownHosts > >> > > > > (System.getProperty(user.home)/.ssh/known_hosts) file is > written. > >> On > >> > > > > windows, I use cygwin for that. I assume you can do the same > with > >> > > putty. > >> > > > > > >> > > > > > >> > > > > You specify the certificate file as an option, as described in > the > >> > > > > documentation: http://camel.apache.org/ftp2.html > >> > > > > > >> > > > > knownHostFile: path to your known_hosts > >> > > > > > >> > > > > privateKeyFile: path to your id_rsa > >> > > > > > >> > > > > > >> > > > > privateKeyFilePassphrase: passphrase of you id_rsa > >> > > > > > >> > > > > > >> > > > > Hope it gives you an idea about where to look at. > >> > > > > > >> > > > > > >> > > > > Good luck. > >> > > > > > >> > > > > > >> > > > > On 03.03.2017 17:32, David Hoffer wrote: > >> > > > > > >> > > > > How does Camel handle the SSH cert when connecting to SFTP > servers? > >> > > > > Somehow it has to accept the cert provided by the server how > does > >> it > >> > do > >> > > > > that? > >> > > > > > >> > > > > The docs say the default is: > >> > > > > strictHostKeyChecking=no > >> > > > > > >> > > > > What does this mean? Does this mean it will accept every cert? > >> > > > > > >> > > > > What does strictHostKeyChecking=yes mean? > >> > > > > > >> > > > > Where does Camel store the cert that it accepted? Can we > preempt > >> > this > >> > > > hole > >> > > > > process by manually accepting the cert with a different tool, > eg. > >> > > > > puttyftp? In this case there would have to be a shared location > >> for > >> > > the > >> > > > > cert...we are running camel on Windows so I think puttyftp > stores > >> the > >> > > > cert > >> > > > > in the registry. Where does Camel/JSCH look for certs? > >> > > > > > >> > > > > -Dave > >> > > > > > >> > > > > > >> > > > > > >> > > > > > >> > > > > > >> > > > > > >> > > > > > >> > > > > > >> > > > > > >> > > > > > >> > > > > >> > > > >> > > >> > > > > -- > Claus Ibsen > ----------------- > http://davsclaus.com @davsclaus > Camel in Action 2: https://www.manning.com/ibsen2 >