3

This is the error I get when trying to connect to an SFTP server running SSH-2.0-OpenSSH_7.1 using Coldfusion 10:

An error occurred while establishing an sFTP connection. 
Verify your connection attributes: username, password, server, fingerprint, 
port, key, connection, proxyServer, and secure (as applicable).

Error: Algorithm negotiation fail.<br> The error occurred on line 14

This is the code. Obviously the asterisks have values, just commenting them out for obvious reasons.

<cfftp action="OPEN"
   server="***" 
   username="***"
   password="***"
   stoponerror="Yes"
   port="61522"
   connection="MyConnection"
   fingerprint="***"
   secure="yes">

Stack trace:

com.jcraft.jsch.JSchException: Algorithm negotiation fail at com.jcraft.jsch.JSchException: Algorithm negotiation fail at
com.jcraft.jsch.Session.receive_kexinit(Unknown Source) at
com.jcraft.jsch.Session.connect(Unknown Source) at
com.jcraft.jsch.Session.connect(Unknown Source) at
coldfusion.tagext.net.SftpHandler.getConnection(SftpHandler.java:267) at
coldfusion.tagext.net.SftpHandler.createConnection(SftpHandler.java:78) at
coldfusion.tagext.net.FtpTag.doStartTag(FtpTag.java:721) at
coldfusion.runtime.CfJspPage._emptyTcfTag(CfJspPage.java:2991) at
cftest2ecfm1054716045.runPage(C:****\test.cfm:12) at
coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:246) at
coldfusion.tagext.lang.IncludeTag.handlePageInvoke(IncludeTag.java:736) at
coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:572) at
coldfusion.filter.CfincludeFilter.invoke(CfincludeFilter.java:65) at
coldfusion.filter.IpFilter.invoke(IpFilter.java:45) at
coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:466) at
coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40) at
coldfusion.filter.PathFilter.invoke(PathFilter.java:142) at
coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:94) at
coldfusion.filter.BrowserDebugFilter.invoke(BrowserDebugFilter.java:78) at
coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28) at
coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38) at
coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:58) at
coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38) at
coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22) at
coldfusion.filter.CachingFilter.invoke(CachingFilter.java:62) at
coldfusion.CfmServlet.service(CfmServlet.java:219) at
coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89) at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at
coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:42) at
coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46) at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505) at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169) at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) at
org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:683) at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956) at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:450) at
org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:197) at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625) at
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316) at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at
java.lang.Thread.run(Thread.java:745)
Community
  • 1
  • 1
Jeff Shain
  • 767
  • 3
  • 9
  • 21
  • (Edit - Fix link) Anything more in the stack trace? Going strictly off the error message, it sounds like cfftp and the other server [cannot agree upon a common algorithm](http://stackoverflow.com/a/26607212/104223). I believe CF uses JSch internally, so *might* be the same issue. Just a shot in the dark though... – Leigh Dec 14 '16 at 18:16
  • I added the stack trace above. – Jeff Shain Dec 14 '16 at 18:51
  • Stills sound like that might be the issue. Have you checked the log files? Not sure CF actually logs anything *useful* relating to cfftp calls, but OpenSSH might ... or at least give an idea which algorithm(s) it is missing or choking on. – Leigh Dec 14 '16 at 20:01
  • yea i checked all the logs. I think its the java secure channel as well but there's no updates to that particular jar file from adobe. – Jeff Shain Dec 14 '16 at 21:03
  • Nothing on OpenSSH either? Again going strictly off the error message, [this is another possibility](http://stackoverflow.com/questions/6263630/jschexception-algorithm-negotiation-fail) but .. hard to say definitively without knowing exactly what is choking on. – Leigh Dec 15 '16 at 00:58

1 Answers1

0

that issue is reported as a bug: https://tracker.adobe.com/#/view/CF-4014234

the solution is to update CF to the latest version: Cf Admin Panel > Server Update > Updates

specifically this bug has been resolved in the ColdFusion 11 Update 14 version

Mike D3ViD Tyson
  • 1,701
  • 1
  • 21
  • 31