hierynomus / hierynomus/sshj

timeout exception after Sending SSH_MSG_KEXDH_INIT

Open
#483 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
2.7k
Forks
620
Avg merge
3d 23h
Merged PRs (30d)
11

Description

Connecting to hungarian tax authority production server fails with timeout exception after:

`net.schmizz.sshj.transport.kex.Curve25519SHA256 - Sending SSH_MSG_KEXDH_INIT`

(DEBUG loging enabled):

```
019-01-10 16:08:51.950 [ZauzooScheduler_Worker-5] INFO net.schmizz.sshj.transport.random.BouncyCastleRandom - Generating random seed from SecureRandom.
2019-01-10 16:08:51.951 [ZauzooScheduler_Worker-5] DEBUG net.schmizz.sshj.transport.random.BouncyCastleRandom - Creating random seed took 0 ms
2019-01-10 16:08:51.999 [ZauzooScheduler_Worker-5] DEBUG net.schmizz.sshj.DefaultConfig - Available cipher factories: [aes128-cbc, aes128-ctr, aes192-cbc, aes192-ctr, aes256-cbc, aes256-ctr, blowfish-cbc, blowfish-ctr, cast128-cbc, cast128-ctr, idea-cbc, idea-ctr, serpent128-cbc, serpent128-ctr, serpent192-cbc, serpent192-ctr, serpent256-cbc, serpent256-ctr, 3des-cbc, 3des-ctr, twofish128-cbc, twofish128-ctr, twofish192-cbc, twofish192-ctr, twofish256-cbc, twofish256-ctr, twofish-cbc, arcfour, arcfour128, arcfour256]
2019-01-10 16:08:52.112 [ZauzooScheduler_Worker-5] INFO net.schmizz.sshj.transport.TransportImpl - Client identity string: SSH-2.0-SSHJ_0.26.0
2019-01-10 16:08:52.141 [ZauzooScheduler_Worker-5] WARN com.hierynomus.sshj.transport.IdentificationStringParser - Server identification has bad line ending, was expecting a '\r\n' however got: '4' (hex: 34)
2019-01-10 16:08:52.141 [ZauzooScheduler_Worker-5] WARN com.hierynomus.sshj.transport.IdentificationStringParser - Will treat the identification of this server 'SSH-2.0-OpenSSH_7.4p1 Debian-10+deb9u4' leniently
2019-01-10 16:08:52.141 [ZauzooScheduler_Worker-5] INFO net.schmizz.sshj.transport.TransportImpl - Server identity string: SSH-2.0-OpenSSH_7.4p1 Debian-10+deb9u4
2019-01-10 16:08:52.141 [ZauzooScheduler_Worker-5] DEBUG net.schmizz.concurrent.Promise - Setting <> to `null`
2019-01-10 16:08:52.141 [ZauzooScheduler_Worker-5] DEBUG net.schmizz.sshj.transport.KeyExchanger - Sending SSH_MSG_KEXINIT
2019-01-10 16:08:52.149 [ZauzooScheduler_Worker-5] DEBUG net.schmizz.concurrent.Promise - Setting <> to `SOME`
2019-01-10 16:08:52.149 [ZauzooScheduler_Worker-5] DEBUG net.schmizz.concurrent.Promise - Awaiting <>
2019-01-10 16:08:52.160 [reader] DEBUG net.schmizz.sshj.transport.KeyExchanger - Received SSH_MSG_KEXINIT
2019-01-10 16:08:52.161 [reader] DEBUG net.schmizz.sshj.transport.KeyExchanger - Negotiated algorithms: [ kex=curve25519-sha256@libssh.org; sig=ecdsa-sha2-nistp256; c2sCipher=aes128-ctr; s2cCipher=aes128-ctr; c2sMAC=hmac-sha1; s2cMAC=hmac-sha1; c2sComp=none; s2cComp=none ]
2019-01-10 16:08:52.217 [reader] DEBUG net.schmizz.sshj.transport.kex.Curve25519SHA256 - Sending SSH_MSG_KEXDH_INIT
2019-01-10 16:09:22.151 [ZauzooScheduler_Worker-5] INFO net.schmizz.sshj.transport.TransportImpl - Disconnected - BY_APPLICATION
2019-01-10 16:09:22.151 [ZauzooScheduler_Worker-5] DEBUG net.schmizz.sshj.transport.TransportImpl$NullService - Notified of net.schmizz.sshj.transport.TransportException: [BY_APPLICATION] Disconnected
2019-01-10 16:09:22.157 [ZauzooScheduler_Worker-5] DEBUG net.schmizz.sshj.transport.TransportImpl - Sending SSH_MSG_DISCONNECT: reason=[BY_APPLICATION], msg=[]
2019-01-10 16:09:22.157 [ZauzooScheduler_Worker-5] DEBUG net.schmizz.concurrent.Promise - Setting <> to `SOME`
2019-01-10 16:09:22.158 [reader] DEBUG net.schmizz.sshj.transport.Reader - Stopping
2019-01-10 16:09:22.170 [ZauzooScheduler_Worker-5] INFO org.quartz.core.JobRunShell - Job InvoiceToTax.InvoiceTaxVolvoHu threw a JobExecutionException:
org.quartz.JobExecutionException: java.lang.reflect.InvocationTargetException
at com.zauzoo.core.job.MdJob.execute(MdJob.java:70) ~[classes!/:0.1.0]
at org.quartz.core.JobRunShell.run(JobRunShell.java:202) [quartz-2.3.0.jar!/:?]
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) [quartz-2.3.0.jar!/:?]
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_161]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_161]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_161]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_161]
at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:280) ~[spring-core-5.1.2.RELEASE.jar!/:5.1.2.RELEASE]
at com.zauzoo.core.job.MdJob.execute(MdJob.java:65) ~[classes!/:0.1.0]
... 2 more
Caused by: net.schmizz.sshj.transport.TransportException: Timeout expired
at net.schmizz.sshj.transport.TransportException$1.chain(TransportException.java:33) ~[sshj-0.26.0.jar!/:0.26.0]
at net.schmizz.sshj.transport.TransportException$1.chain(TransportException.java:27) ~[sshj-0.26.0.jar!/:0.26.0]
at net.schmizz.concurrent.Promise.retrieve(Promise.java:139) ~[sshj-0.26.0.jar!/:0.26.0]
at net.schmizz.concurrent.Event.await(Event.java:105) ~[sshj-0.26.0.jar!/:0.26.0]
at net.schmizz.sshj.transport.KeyExchanger.waitForDone(KeyExchanger.java:150) ~[sshj-0.26.0.jar!/:0.26.0]
at net.schmizz.sshj.transport.KeyExchanger.startKex(KeyExchanger.java:145) ~[sshj-0.26.0.jar!/:0.26.0]
at net.schmizz.sshj.transport.TransportImpl.doKex(TransportImpl.java:259) ~[sshj-0.26.0.jar!/:0.26.0]
at net.schmizz.sshj.SSHClient.doKex(SSHClient.java:784) ~[sshj-0.26.0.jar!/:0.26.0]
at net.schmizz.sshj.SSHClient.onConnect(SSHClient.java:772) ~[sshj-0.26.0.jar!/:0.26.0]
at net.schmizz.sshj.SocketClient.connect(SocketClient.java:127) ~[sshj-0.26.0.jar!/:0.26.0]
at com.zauzoo.core.common.service.MdCommonService.sftpOperation(MdCommonService.java:447) ~[classes!/:0.1.0]
at com.zauzoo.invoicing.service.InvoiceDistributionService.runInvoiceToTaxOneTenant_aroundBody6(InvoiceDistributionService.java:288) ~[classes!/:0.1.0]
at com.zauzoo.invoicing.service.InvoiceDistributionService$AjcClosure7.run(InvoiceDistributionService.java:1) ~[classes!/:0.1.0]
at org.springframework.transaction.aspectj.AbstractTransactionAspect.ajc$around$org_springframework_transaction_aspectj_AbstractTransactionAspect$1$2a73e96cproceed(AbstractTransactionAspect.aj:66) ~[spring-aspects-5.1.2.RELEASE.jar!/:5.1.2.RELEASE]
at org.springframework.transaction.aspectj.AbstractTransactionAspect$AbstractTransactionAspect$1.proceedWithInvocation(AbstractTransactionAspect.aj:72) ~[spring-aspects-5.1.2.RELEASE.jar!/:5.1.2.RELEASE]
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:294) ~[spring-tx-5.1.2.RELEASE.jar!/:5.1.2.RELEASE]
at org.springframework.transaction.aspectj.AbstractTransactionAspect.ajc$around$org_springframework_transaction_aspectj_AbstractTransactionAspect$1$2a73e96c(AbstractTransactionAspect.aj:70) ~[spring-aspects-5.1.2.RELEASE.jar!/:5.1.2.RELEASE]
at com.zauzoo.invoicing.service.InvoiceDistributionService.runInvoiceToTaxOneTenant(InvoiceDistributionService.java:254) ~[classes!/:0.1.0]
at com.zauzoo.invoicing.service.InvoiceDistributionService.runInvoiceToTax(InvoiceDistributionService.java:248) ~[classes!/:0.1.0]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_161]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_161]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_161]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_161]
at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:280) ~[spring-core-5.1.2.RELEASE.jar!/:5.1.2.RELEASE]
at com.zauzoo.core.job.MdJob.execute(MdJob.java:65) ~[classes!/:0.1.0]
... 2 more
Caused by: java.util.concurrent.TimeoutException: Timeout expired
at net.schmizz.concurrent.Promise.retrieve(Promise.java:139) ~[sshj-0.26.0.jar!/:0.26.0]
at net.schmizz.concurrent.Event.await(Event.java:105) ~[sshj-0.26.0.jar!/:0.26.0]
at net.schmizz.sshj.transport.KeyExchanger.waitForDone(KeyExchanger.java:150) ~[sshj-0.26.0.jar!/:0.26.0]
at net.schmizz.sshj.transport.KeyExchanger.startKex(KeyExchanger.java:145) ~[sshj-0.26.0.jar!/:0.26.0]
at net.schmizz.sshj.transport.TransportImpl.doKex(TransportImpl.java:259) ~[sshj-0.26.0.jar!/:0.26.0]
at net.schmizz.sshj.SSHClient.doKex(SSHClient.java:784) ~[sshj-0.26.0.jar!/:0.26.0]
at net.schmizz.sshj.SSHClient.onConnect(SSHClient.java:772) ~[sshj-0.26.0.jar!/:0.26.0]
at net.schmizz.sshj.SocketClient.connect(SocketClient.java:127) ~[sshj-0.26.0.jar!/:0.26.0]
```

Their test system works.
linux ssh/scp command can connect to both test and prod environment.

Using version 0.26.0

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.