You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by na...@apache.org on 2015/06/11 13:48:08 UTC

[1/2] jclouds git commit: JCLOUDS-921 prioritise key over password in SSHClientConnection

Repository: jclouds
Updated Branches:
  refs/heads/1.9.x 522c080a4 -> 7e1838afb


JCLOUDS-921 prioritise key over password in SSHClientConnection

>From ticket:
If keyboard interactive login is not allowed on the box but the user also requires a sudo password the ssh fails as it prioritises the password.
If you remove the password then the sudo fails in the SudoAwareInitManager.
It would seem better to prioritise the key over the password in SSHClientConnection or possibly try both if they are both present, and the first fails.

This commit swaps the order of the if else check to use the ssh key if present.


Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/f88acd67
Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/f88acd67
Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/f88acd67

Branch: refs/heads/1.9.x
Commit: f88acd67c0b26742b1f50d0bbd57a6733060ad2c
Parents: 522c080
Author: Stuart Hendren <st...@tenode.com>
Authored: Mon Jun 1 16:35:18 2015 +0100
Committer: Ignasi Barrera <na...@apache.org>
Committed: Thu Jun 11 13:22:29 2015 +0200

----------------------------------------------------------------------
 .../src/main/java/org/jclouds/sshj/SSHClientConnection.java    | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/f88acd67/drivers/sshj/src/main/java/org/jclouds/sshj/SSHClientConnection.java
----------------------------------------------------------------------
diff --git a/drivers/sshj/src/main/java/org/jclouds/sshj/SSHClientConnection.java b/drivers/sshj/src/main/java/org/jclouds/sshj/SSHClientConnection.java
index 68754e9..5a4895d 100644
--- a/drivers/sshj/src/main/java/org/jclouds/sshj/SSHClientConnection.java
+++ b/drivers/sshj/src/main/java/org/jclouds/sshj/SSHClientConnection.java
@@ -157,12 +157,12 @@ public class SSHClientConnection implements Connection<SSHClient> {
          ssh.setTimeout(sessionTimeout);
       }
       ssh.connect(hostAndPort.getHostText(), hostAndPort.getPortOrDefault(22));
-      if (loginCredentials.getOptionalPassword().isPresent()) {
-         ssh.authPassword(loginCredentials.getUser(), loginCredentials.getOptionalPassword().get());
-      } else if (loginCredentials.hasUnencryptedPrivateKey()) {
+      if (loginCredentials.hasUnencryptedPrivateKey()) {
          OpenSSHKeyFile key = new OpenSSHKeyFile();
          key.init(loginCredentials.getOptionalPrivateKey().get(), null);
          ssh.authPublickey(loginCredentials.getUser(), key);
+      } else if (loginCredentials.getOptionalPassword().isPresent()) {
+         ssh.authPassword(loginCredentials.getUser(), loginCredentials.getOptionalPassword().get());
       } else if (agentConnector.isPresent()) {
          AgentProxy proxy = new AgentProxy(agentConnector.get());
          ssh.auth(loginCredentials.getUser(), getAuthMethods(proxy));


[2/2] jclouds git commit: JCLOUDS-921 prioritise key over password in SessionConnection

Posted by na...@apache.org.
JCLOUDS-921 prioritise key over password in SessionConnection


Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/7e1838af
Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/7e1838af
Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/7e1838af

Branch: refs/heads/1.9.x
Commit: 7e1838afbba4028bf47f722f08d4e4bd289c0d0a
Parents: f88acd6
Author: Ignasi Barrera <na...@apache.org>
Authored: Thu Jun 11 13:29:23 2015 +0200
Committer: Ignasi Barrera <na...@apache.org>
Committed: Thu Jun 11 13:29:23 2015 +0200

----------------------------------------------------------------------
 drivers/jsch/.gitignore                                     | 9 ---------
 .../main/java/org/jclouds/ssh/jsch/SessionConnection.java   | 6 +++---
 2 files changed, 3 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/7e1838af/drivers/jsch/.gitignore
----------------------------------------------------------------------
diff --git a/drivers/jsch/.gitignore b/drivers/jsch/.gitignore
deleted file mode 100644
index cb1040e..0000000
--- a/drivers/jsch/.gitignore
+++ /dev/null
@@ -1,9 +0,0 @@
-# use glob syntax.
-syntax: glob
-target
-.settings
-.classpath
-.project
-jclouds-jsch.iml
-jclouds-jsch.ipr
-jclouds-jsch.iws
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/jclouds/blob/7e1838af/drivers/jsch/src/main/java/org/jclouds/ssh/jsch/SessionConnection.java
----------------------------------------------------------------------
diff --git a/drivers/jsch/src/main/java/org/jclouds/ssh/jsch/SessionConnection.java b/drivers/jsch/src/main/java/org/jclouds/ssh/jsch/SessionConnection.java
index fca26a0..2ff4e75 100644
--- a/drivers/jsch/src/main/java/org/jclouds/ssh/jsch/SessionConnection.java
+++ b/drivers/jsch/src/main/java/org/jclouds/ssh/jsch/SessionConnection.java
@@ -169,11 +169,11 @@ public final class SessionConnection implements Connection<Session> {
             .getSession(loginCredentials.getUser(), hostAndPort.getHostText(), hostAndPort.getPortOrDefault(22));
       if (sessionTimeout != 0)
          session.setTimeout(sessionTimeout);
-      if (loginCredentials.getOptionalPassword().isPresent()) {
-         session.setPassword(loginCredentials.getOptionalPassword().orNull());
-      } else if (loginCredentials.hasUnencryptedPrivateKey()) {
+      if (loginCredentials.hasUnencryptedPrivateKey()) {
          byte[] privateKey = loginCredentials.getOptionalPrivateKey().get().getBytes();
          jsch.addIdentity(loginCredentials.getUser(), privateKey, null, emptyPassPhrase);
+      } else if (loginCredentials.getOptionalPassword().isPresent()) {
+          session.setPassword(loginCredentials.getOptionalPassword().orNull());
       } else if (agentConnector.isPresent()) {
          JSch.setConfig("PreferredAuthentications", "publickey");
          jsch.setIdentityRepository(new RemoteIdentityRepository(agentConnector.get()));