Cyberduck Mountain Duck CLI

#7418 closed defect (fixed)

Exception reading invalid ssh-rsa public key

Reported by: david cole Owned by: dkocher
Priority: normal Milestone: 4.4
Component: core Version: Nightly Build
Severity: critical Keywords:
Cc: Architecture: Intel
Platform: Mac OS X 10.8

Description (last modified by dkocher)

I moved to a 4.4 nightly build a few weeks ago and was unable to open any of my bookmarks or type a hostname in the quick connect box - I thought this was a bad build, so moved back to 4.3. Tried again today - the same problem. Can't connect to anything. The log drawer is blank and shows nothing when I hit enter after entering a hostname in the quick-connect box. Double clicking a bookmark does nothing.

OS X 10.8.4 - Mac Book Pro. 
Cyberduck version 4.4 (12588)

I removed the configs with "defaults remove ch.sudo.cyberduck" - no change. I moved the ~/Library/Application\ Support/Cyberduck/ folder to another folder - no change.

I have the old Java version I had to install as a dependency of Cyberduck 4.3 and I have Java 7 installed for day-to-day use.

Davids-MacBook-Pro-2:~ dcc$ java -version
java version "1.6.0_51"
Java(TM) SE Runtime Environment (build 1.6.0_51-b11-457-11M4509)
Java HotSpot(TM) 64-Bit Server VM (build 20.51-b01-457, mixed mode)

Enabling debug logging I see the following when I hit enter in the quick connect box:

Aug 27 23:40:15 Davids-MacBook-Pro-2.local Cyberduck[16518]: [main] ERROR org.rococoa.callback - Exception calling method for selector quickConnectSelectionChanged:
		at ch.cyberduck.ui.cocoa.application.NSApplication$$ByRococoa.run(<generated>)
		at ch.cyberduck.ui.cocoa.MainApplication.main(MainApplication.java:152)
		at ch.cyberduck.core.sftp.MemoryHostKeyVerifier.<init>(MemoryHostKeyVerifier.java:54)
		at ch.cyberduck.ui.cocoa.AlertHostKeyController.<init>(AlertHostKeyController.java:78)
		at ch.cyberduck.ui.cocoa.AlertHostKeyController.<init>(AlertHostKeyController.java:74)
		at ch.cyberduck.ui.cocoa.AlertHostKeyController$Factory.create(AlertHostKeyController.java:62)
		at ch.cyberduck.ui.HostKeyControllerFactory.get(HostKeyControllerFactory.java:50)
		at ch.cyberduck.ui.threading.ControllerBackgroundAction.<init>(ControllerBackgroundAction.java:37)
		at ch.cyberduck.ui.cocoa.threading.BrowserBackgroundAction.<init>(BrowserBackgroundAction.java:47)
		at ch.cyberduck.ui.cocoa.threading.BrowserBackgroundAction.<init>(BrowserBackgroundAction.java:42)
		at ch.cyberduck.ui.cocoa.BrowserController$36.<init>(BrowserController.java:3495)
		at ch.cyberduck.ui.cocoa.BrowserController.disconnect(BrowserController.java:3495)
		at ch.cyberduck.ui.cocoa.BrowserController.unmountImpl(BrowserController.java:3470)
		at ch.cyberduck.ui.cocoa.BrowserController.unmount(BrowserController.java:3461)
		at ch.cyberduck.ui.cocoa.BrowserController.unmount(BrowserController.java:3416)
		at ch.cyberduck.ui.cocoa.BrowserController.mount(BrowserController.java:3349)
		at ch.cyberduck.ui.cocoa.BrowserController.quickConnectSelectionChanged(BrowserController.java:1762)
Aug 27 23:41:37 Davids-MacBook-Pro-2.local Cyberduck[16518]: [main] ERROR org.rococoa.callback - Exception calling method for selector tableRowDoubleClicked:
		at ch.cyberduck.ui.cocoa.application.NSApplication$$ByRococoa.run(<generated>)
		at ch.cyberduck.ui.cocoa.MainApplication.main(MainApplication.java:152)
		at ch.cyberduck.core.sftp.MemoryHostKeyVerifier.<init>(MemoryHostKeyVerifier.java:54)
		at ch.cyberduck.ui.cocoa.AlertHostKeyController.<init>(AlertHostKeyController.java:78)
		at ch.cyberduck.ui.cocoa.AlertHostKeyController.<init>(AlertHostKeyController.java:74)
		at ch.cyberduck.ui.cocoa.AlertHostKeyController$Factory.create(AlertHostKeyController.java:62)
		at ch.cyberduck.ui.HostKeyControllerFactory.get(HostKeyControllerFactory.java:50)
		at ch.cyberduck.ui.threading.ControllerBackgroundAction.<init>(ControllerBackgroundAction.java:37)
		at ch.cyberduck.ui.cocoa.threading.BrowserBackgroundAction.<init>(BrowserBackgroundAction.java:47)
		at ch.cyberduck.ui.cocoa.threading.BrowserBackgroundAction.<init>(BrowserBackgroundAction.java:42)
		at ch.cyberduck.ui.cocoa.BrowserController$36.<init>(BrowserController.java:3495)
		at ch.cyberduck.ui.cocoa.BrowserController.disconnect(BrowserController.java:3495)
		at ch.cyberduck.ui.cocoa.BrowserController.unmountImpl(BrowserController.java:3470)
		at ch.cyberduck.ui.cocoa.BrowserController.unmount(BrowserController.java:3461)
		at ch.cyberduck.ui.cocoa.BrowserController.unmount(BrowserController.java:3416)
		at ch.cyberduck.ui.cocoa.BrowserController.mount(BrowserController.java:3349)
		at ch.cyberduck.ui.cocoa.BrowserController.connectBookmarkButtonClicked(BrowserController.java:1817)
		at ch.cyberduck.ui.cocoa.BrowserController$12.tableRowDoubleClicked(BrowserController.java:1569)

When I load a bookmark and double click it:

Aug 27 23:42:34 Davids-MacBook-Pro-2.local Cyberduck[16530]: [main] ERROR org.rococoa.callback - Exception calling method for selector tableRowDoubleClicked:
		at ch.cyberduck.ui.cocoa.application.NSApplication$$ByRococoa.run(<generated>)
		at ch.cyberduck.ui.cocoa.MainApplication.main(MainApplication.java:152)
		at ch.cyberduck.core.sftp.MemoryHostKeyVerifier.<init>(MemoryHostKeyVerifier.java:54)
		at ch.cyberduck.ui.cocoa.AlertHostKeyController.<init>(AlertHostKeyController.java:78)
		at ch.cyberduck.ui.cocoa.AlertHostKeyController.<init>(AlertHostKeyController.java:74)
		at ch.cyberduck.ui.cocoa.AlertHostKeyController$Factory.create(AlertHostKeyController.java:62)
		at ch.cyberduck.ui.HostKeyControllerFactory.get(HostKeyControllerFactory.java:50)
		at ch.cyberduck.ui.threading.ControllerBackgroundAction.<init>(ControllerBackgroundAction.java:37)
		at ch.cyberduck.ui.cocoa.threading.BrowserBackgroundAction.<init>(BrowserBackgroundAction.java:47)
		at ch.cyberduck.ui.cocoa.threading.BrowserBackgroundAction.<init>(BrowserBackgroundAction.java:42)
		at ch.cyberduck.ui.cocoa.threading.WorkerBackgroundAction.<init>(WorkerBackgroundAction.java:37)
		at ch.cyberduck.ui.cocoa.BrowserController$31$2.<init>(BrowserController.java:3382)
		at ch.cyberduck.ui.cocoa.BrowserController$31.run(BrowserController.java:3355)
		at ch.cyberduck.ui.cocoa.BrowserController$35.run(BrowserController.java:3481)
		at ch.cyberduck.ui.cocoa.BrowserController.disconnect(BrowserController.java:3525)
		at ch.cyberduck.ui.cocoa.BrowserController.unmountImpl(BrowserController.java:3470)
		at ch.cyberduck.ui.cocoa.BrowserController.unmount(BrowserController.java:3461)
		at ch.cyberduck.ui.cocoa.BrowserController.unmount(BrowserController.java:3416)
		at ch.cyberduck.ui.cocoa.BrowserController.mount(BrowserController.java:3349)
		at ch.cyberduck.ui.cocoa.BrowserController.connectBookmarkButtonClicked(BrowserController.java:1817)
		at ch.cyberduck.ui.cocoa.BrowserController$12.tableRowDoubleClicked(BrowserController.java:1569)

Change History (9)

comment:1 Changed on Aug 28, 2013 at 8:53:54 AM by dkocher

  • Description modified (diff)
  • Owner set to dkocher
  • Status changed from new to assigned
  • Version changed from 4.3.1 to Nightly Build

comment:2 Changed on Aug 28, 2013 at 9:37:54 AM by dkocher

Thanks for posting this bug report. Can you also post the lines above and below the posted stack traces found in system.log from Console.app. You have possibly filtered the output and some information is missing.

comment:3 Changed on Aug 28, 2013 at 9:39:18 AM by dkocher

  • Summary changed from OS X 10.8 - After upgrading to 4.4, I'm unable to access any location to Exception in MemoryHostKeyVerifier

comment:4 Changed on Aug 28, 2013 at 11:03:25 AM by david cole

Thanks David - you're correct my filter was removing useful data! Here's the full trace:

Aug 28 11:10:43 Davids-MacBook-Pro-2.local Cyberduck[17034]: [main] ERROR org.rococoa.callback - Exception calling method for selector tableRowDoubleClicked:
	
	java.lang.reflect.InvocationTargetException
		at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
		at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
		at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
		at java.lang.reflect.Method.invoke(Method.java:606)
		at org.rococoa.internal.OCInvocationCallbacks.callMethod(OCInvocationCallbacks.java:156)
		at org.rococoa.internal.OCInvocationCallbacks.access$200(OCInvocationCallbacks.java:52)
		at org.rococoa.internal.OCInvocationCallbacks$2.callback(OCInvocationCallbacks.java:82)
		at sun.reflect.GeneratedMethodAccessor14.invoke(Unknown Source)
		at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
		at java.lang.reflect.Method.invoke(Method.java:606)
		at com.sun.jna.CallbackReference$DefaultCallbackProxy.invokeCallback(CallbackReference.java:449)
		at com.sun.jna.CallbackReference$DefaultCallbackProxy.callback(CallbackReference.java:479)
		at com.sun.jna.Native.invokeVoid(Native Method)
		at com.sun.jna.Function.invoke(Function.java:334)
		at com.sun.jna.Function.invoke(Function.java:278)
		at org.rococoa.internal.MsgSendHandler.invoke(MsgSendHandler.java:111)
		at com.sun.jna.Library$Handler.invoke(Library.java:232)
		at com.sun.proxy.$Proxy0.syntheticSendMessage(Unknown Source)
		at org.rococoa.Foundation.send(Foundation.java:208)
		at org.rococoa.Foundation.send(Foundation.java:194)
		at org.rococoa.internal.ObjCObjectInvocationHandler.sendOnThisOrMainThread(ObjCObjectInvocationHandler.java:269)
		at org.rococoa.internal.ObjCObjectInvocationHandler.invokeCocoa(ObjCObjectInvocationHandler.java:232)
		at org.rococoa.internal.ObjCObjectInvocationHandler.intercept(ObjCObjectInvocationHandler.java:191)
		at ch.cyberduck.ui.cocoa.application.NSApplication$$ByRococoa.run(<generated>)
		at ch.cyberduck.ui.cocoa.MainApplication.main(MainApplication.java:152)
	Caused by: java.lang.IllegalArgumentException: This is not a ssh-rsa public key
		at ch.ethz.ssh2.signature.RSASHA1Verify.decodeSSHRSAPublicKey(RSASHA1Verify.java:33)
		at ch.ethz.ssh2.KnownHosts.addHostkey(KnownHosts.java:108)
		at ch.ethz.ssh2.KnownHosts.initialize(KnownHosts.java:448)
		at ch.ethz.ssh2.KnownHosts.initialize(KnownHosts.java:481)
		at ch.ethz.ssh2.KnownHosts.<init>(KnownHosts.java:80)
		at ch.cyberduck.core.sftp.MemoryHostKeyVerifier.<init>(MemoryHostKeyVerifier.java:54)
		at ch.cyberduck.ui.cocoa.AlertHostKeyController.<init>(AlertHostKeyController.java:78)
		at ch.cyberduck.ui.cocoa.AlertHostKeyController.<init>(AlertHostKeyController.java:74)
		at ch.cyberduck.ui.cocoa.AlertHostKeyController$Factory.create(AlertHostKeyController.java:62)
		at ch.cyberduck.ui.HostKeyControllerFactory.get(HostKeyControllerFactory.java:50)
		at ch.cyberduck.ui.threading.ControllerBackgroundAction.<init>(ControllerBackgroundAction.java:37)
		at ch.cyberduck.ui.cocoa.threading.BrowserBackgroundAction.<init>(BrowserBackgroundAction.java:47)
		at ch.cyberduck.ui.cocoa.threading.BrowserBackgroundAction.<init>(BrowserBackgroundAction.java:42)
		at ch.cyberduck.ui.cocoa.BrowserController$36.<init>(BrowserController.java:3495)
		at ch.cyberduck.ui.cocoa.BrowserController.disconnect(BrowserController.java:3495)
		at ch.cyberduck.ui.cocoa.BrowserController.unmountImpl(BrowserController.java:3470)
		at ch.cyberduck.ui.cocoa.BrowserController.unmount(BrowserController.java:3461)
		at ch.cyberduck.ui.cocoa.BrowserController.unmount(BrowserController.java:3416)
		at ch.cyberduck.ui.cocoa.BrowserController.mount(BrowserController.java:3349)
		at ch.cyberduck.ui.cocoa.BrowserController.connectBookmarkButtonClicked(BrowserController.java:1817)
		at ch.cyberduck.ui.cocoa.BrowserController$12.tableRowDoubleClicked(BrowserController.java:1569)
		... 25 more

I have tracked this down to my ~/.ssh/known_hosts file. Moving that sideways, Cyberduck now works correctly. I don't know what's wrong with the file - Cyberduck 4.3 does not mind the file...

Last edited on Aug 28, 2013 at 11:34:21 AM by dkocher (previous) (diff)

comment:5 Changed on Aug 28, 2013 at 11:54:33 AM by dkocher

Can you post your known_hosts file or send it to feedback@….

comment:6 Changed on Aug 28, 2013 at 12:37:06 PM by dkocher

  • Summary changed from Exception in MemoryHostKeyVerifier to Exception reading invalid ssh-rsa public key

Workaround in r7418.

Last edited on Aug 28, 2013 at 12:37:18 PM by dkocher (previous) (diff)

comment:7 Changed on Aug 28, 2013 at 12:59:13 PM by dkocher

  • Resolution set to fixed
  • Status changed from assigned to closed

comment:8 follow-up: Changed on Sep 1, 2013 at 10:32:56 PM by david cole

I have verified your workaround is good with my known_hosts file in 4.4 build 12619 - thanks! Do you still want me to send you my known_hosts file ?

comment:9 in reply to: ↑ 8 Changed on Sep 2, 2013 at 7:51:22 AM by dkocher

Replying to david cole:

I have verified your workaround is good with my known_hosts file in 4.4 build 12619 - thanks! Do you still want me to send you my known_hosts file ?

Yes, I would still like to have a closer look.

Note: See TracTickets for help on using tickets.
swiss made software