From 8859eaeb688e0cfd6aa48ec5022e43a3e2f7cbf4 Mon Sep 17 00:00:00 2001 From: Ignasi Barrera Date: Thu, 11 Jun 2015 13:29:23 +0200 Subject: [PATCH] JCLOUDS-921 prioritise key over password in SessionConnection --- drivers/jsch/.gitignore | 9 --------- .../java/org/jclouds/ssh/jsch/SessionConnection.java | 6 +++--- 2 files changed, 3 insertions(+), 12 deletions(-) delete mode 100644 drivers/jsch/.gitignore diff --git a/drivers/jsch/.gitignore b/drivers/jsch/.gitignore deleted file mode 100644 index cb1040eb36..0000000000 --- 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 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 fca26a0494..2ff4e75a51 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 { .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()));