[ 
https://issues.apache.org/jira/browse/JCLOUDS-1103?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Josef Cacek updated JCLOUDS-1103:
---------------------------------
    Attachment: jclouds-sshj-0.15.0.log

Attaching part of the log-file with DEBUG log level enabled.

> SSHJ public key authentication fails sometimes with "Exhausted available 
> authentication methods" message
> --------------------------------------------------------------------------------------------------------
>
>                 Key: JCLOUDS-1103
>                 URL: https://issues.apache.org/jira/browse/JCLOUDS-1103
>             Project: jclouds
>          Issue Type: Bug
>    Affects Versions: 2.0.0
>         Environment: We hit this on OpenStack, but IMO it's not related to 
> the provider used.
>            Reporter: Josef Cacek
>            Priority: Critical
>         Attachments: jclouds-sshj-0.15.0.log
>
>
> Connecting with SSHJ SshClient sometimes fails with "Exhausted available 
> authentication methods" message.
> It can be caused by the 
> [issue#153|https://github.com/hierynomus/sshj/issues/153] reported on sshj 
> GitHub.
> In our tests we run following scenario on Openstack:
> 1. start a Node from an Image
> 2. make some checks (e.g. ports are open)
> 3. suspend() the Node and wait till its suspended
> 4. resume() the Node and wait till its ready (running and ports are open 
> again)
> 5. get SSH client by calling
> {code}
> SshClient sshClient = 
> getComputeServiceContext().utils().sshForNode().apply(nodeMetadata);
> sshClient.connect();
> {code}
> Sometimes it fails to connect the SSH with exception:
> {code}
> 08:27:48.255 [main] ERROR jclouds.ssh - << 
> (cloud-user:rsa[fingerprint(11:50:0c:5f:c9:a4:bc:c0:85:1d:08:d9:9c:d5:b9:52),sha1(ff:aa:5a:8c:80:7f:04:b7:6c:90:b5:dd:91:c4:8e:ea:4f:c3:e7:9f)]@10.8.50.241:22)
>  error acquiring {hostAndPort=10.8.50.241:22, loginUser=cloud-user, ssh=null, 
> connectTimeout=60000, sessionTimeout=60000} (out of retries - max 1): 
> Exhausted available authentication methods
> net.schmizz.sshj.userauth.UserAuthException: Exhausted available 
> authentication methods
>     at net.schmizz.sshj.SSHClient.auth(SSHClient.java:217) 
> ~[sshj-0.12.0.jar:na]
>     at net.schmizz.sshj.SSHClient.authPublickey(SSHClient.java:316) 
> ~[sshj-0.12.0.jar:na]
>     at net.schmizz.sshj.SSHClient.authPublickey(SSHClient.java:335) 
> ~[sshj-0.12.0.jar:na]
>     at 
> org.jclouds.sshj.SSHClientConnection.create(SSHClientConnection.java:163) 
> ~[jclouds-sshj-2.0.0-eapqe.4.jar:2.0.0-eapqe.4]
>     at 
> org.jclouds.sshj.SSHClientConnection.create(SSHClientConnection.java:49) 
> ~[jclouds-sshj-2.0.0-eapqe.4.jar:2.0.0-eapqe.4]
>     at org.jclouds.sshj.SshjSshClient.acquire(SshjSshClient.java:195) 
> [jclouds-sshj-2.0.0-eapqe.4.jar:2.0.0-eapqe.4]
>     at org.jclouds.sshj.SshjSshClient.connect(SshjSshClient.java:225) 
> [jclouds-sshj-2.0.0-eapqe.4.jar:2.0.0-eapqe.4]
>     at ...
> {code}
> My guess is about 5% of the scenario runs is failing.
> We have also a retry-if-fails logic in our code to prevent situations when 
> the OpenSSH server in the Node is not yet running. So it tries to get the SSH 
> client 12-times with 5 seconds sleeps following every unsuccessful connect. 
> These retries don't help to solve this issue.
> We've tried to update SSHJ to latest released version {{0.15.0}}, but we 
> still hit this issue.
> When we used *JSCH* implementation (module {{JschSshClientModule}})  instead 
> of the SSHJ (module {{SshjSshClientModule}})   we *didn't see this problem*.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to