Hello,

I'm currently facing this problem and not able to proceed further. Any help or 
pointers would be greatly appreciated.

I'm setting up an SSH client with Apache Mina SSHD, to connect to a linux 
server via SSH and using key based authentication.
I've generated the key using puttygen

  *   Public Key
     *   copied the public key from puttygen UI to the authorized_keys of the 
server.
  *   Private Key - exported private key in 2 ways
     *   Export the private key from the puttygen menu - Conversions - Export 
ssh.com key and saved it to mykey.key
     *   Clicked on 'Save private key' button on puttygen and saved it to 
mykey.ppk

I'm using the following code to parse the keys in my client

Collection<KeyPair> keyPairs  = 
PuttyKeyUtils.DEFAULT_INSTANCE.loadKeyPairs(null, Paths.get(certFilePath), 
FilePasswordProvider.of(certFilePassword));

To the above code -

  *   If I pass the .ppk file I'm getting the below exception  - getting 
exception during parsing of the key file
Exception in thread "main" java.io.StreamCorruptedException: Negative block 
length requested: -1875473298
       at 
org.apache.sshd.common.config.keys.loader.putty.PuttyKeyReader.read(PuttyKeyReader.java:72)
       at 
org.apache.sshd.common.config.keys.loader.putty.PuttyKeyReader.readInt(PuttyKeyReader.java:61)
       at 
org.apache.sshd.common.config.keys.loader.putty.RSAPuttyKeyDecoder.loadKeyPairs(RSAPuttyKeyDecoder.java:64)
       at 
org.apache.sshd.common.config.keys.loader.putty.AbstractPuttyKeyDecoder.loadKeyPairs(AbstractPuttyKeyDecoder.java:270)
       at 
org.apache.sshd.common.config.keys.loader.putty.AbstractPuttyKeyDecoder.loadKeyPairs(AbstractPuttyKeyDecoder.java:259)
       at 
org.apache.sshd.common.config.keys.loader.putty.AbstractPuttyKeyDecoder.loadKeyPairs(AbstractPuttyKeyDecoder.java:216)
       at 
org.apache.sshd.common.config.keys.loader.putty.AbstractPuttyKeyDecoder.loadKeyPairs(AbstractPuttyKeyDecoder.java:161)
       at 
org.apache.sshd.common.config.keys.loader.putty.AbstractPuttyKeyDecoder.loadKeyPairs(AbstractPuttyKeyDecoder.java:129)
       at 
org.apache.sshd.common.config.keys.loader.KeyPairResourceParser$2.loadKeyPairs(KeyPairResourceParser.java:166)
       at 
org.apache.sshd.common.config.keys.loader.KeyPairResourceLoader.loadKeyPairs(KeyPairResourceLoader.java:157)
       at 
org.apache.sshd.common.config.keys.loader.KeyPairResourceLoader.loadKeyPairs(KeyPairResourceLoader.java:148)
       at 
org.apache.sshd.common.config.keys.loader.KeyPairResourceLoader.loadKeyPairs(KeyPairResourceLoader.java:139)
       at 
org.apache.sshd.common.config.keys.loader.KeyPairResourceLoader.loadKeyPairs(KeyPairResourceLoader.java:115)
       at 
org.apache.sshd.common.config.keys.loader.KeyPairResourceLoader.loadKeyPairs(KeyPairResourceLoader.java:90)
       at 
org.apache.sshd.common.config.keys.loader.KeyPairResourceLoader.loadKeyPairs(KeyPairResourceLoader.java:84)
       at 
TestMina5keystringWithPwd.listFolderStructure(TestMina5keystringWithPwd.java:96)

at TestMina5keystringWithPwd.main(TestMina5keystringWithPwd.java:46)



  *   If I pass the .key file, I'm getting this exception ( the load key pairs 
returns empty and sshd authentication just fails)
Exception in thread "main" org.apache.sshd.common.SshException: No more 
authentication methods available
       at 
org.apache.sshd.client.session.ClientUserAuthService.tryNext(ClientUserAuthService.java:330)
       at 
org.apache.sshd.client.session.ClientUserAuthService.processUserAuth(ClientUserAuthService.java:264)
       at 
org.apache.sshd.client.session.ClientUserAuthService.process(ClientUserAuthService.java:211)
       at 
org.apache.sshd.common.session.helpers.AbstractSession.doHandleMessage(AbstractSession.java:462)
       at 
org.apache.sshd.common.session.helpers.AbstractSession.handleMessage(AbstractSession.java:388)
       at 
org.apache.sshd.common.session.helpers.AbstractSession.decode(AbstractSession.java:1399)
       at 
org.apache.sshd.common.session.helpers.AbstractSession.messageReceived(AbstractSession.java:345)
       at 
org.apache.sshd.common.session.helpers.AbstractSessionIoHandler.messageReceived(AbstractSessionIoHandler.java:64)
       at 
org.apache.sshd.common.io.nio2.Nio2Session.handleReadCycleCompletion(Nio2Session.java:356)
       at 
org.apache.sshd.common.io.nio2.Nio2Session$1.onCompleted(Nio2Session.java:334)
       at 
org.apache.sshd.common.io.nio2.Nio2Session$1.onCompleted(Nio2Session.java:331)
       at 
org.apache.sshd.common.io.nio2.Nio2CompletionHandler.lambda$completed$0(Nio2CompletionHandler.java:38)
       at 
java.base/java.security.AccessController.doPrivileged(AccessController.java:318)
       at 
org.apache.sshd.common.io.nio2.Nio2CompletionHandler.completed(Nio2CompletionHandler.java:37)
       at java.base/sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:129)
       at java.base/sun.nio.ch.Invoker$2.run(Invoker.java:221)
       at 
java.base/sun.nio.ch.AsynchronousChannelGroupImpl$1.run(AsynchronousChannelGroupImpl.java:113)
       at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
       at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)

-                 at java.base/java.lang.Thread.run(Thread.java:833)

Pls. let me know the right methods to parse a private key generated from putty 
in my sshd client.

Thanks
RK

================================
Rocket Software, Inc. and subsidiaries ? 77 Fourth Avenue, Waltham MA 02451 ? 
Main Office Toll Free Number: +1 855.577.4323
Contact Customer Support: 
https://my.rocketsoftware.com/RocketCommunity/RCEmailSupport
Unsubscribe from Marketing Messages/Manage Your Subscription Preferences - 
http://www.rocketsoftware.com/manage-your-email-preferences
Privacy Policy - http://www.rocketsoftware.com/company/legal/privacy-policy
================================

This communication and any attachments may contain confidential information of 
Rocket Software, Inc. All unauthorized use, disclosure or distribution is 
prohibited. If you are not the intended recipient, please notify Rocket 
Software immediately and destroy all copies of this communication. Thank you.

Reply via email to