X-Git-Url: http://git.argeo.org/?p=lgpl%2Fargeo-commons.git;a=blobdiff_plain;f=org.argeo.cms.lib.sshd%2Fsrc%2Forg%2Fargeo%2Fcms%2Fssh%2FAbstractSsh.java;fp=org.argeo.cms.lib.sshd%2Fsrc%2Forg%2Fargeo%2Fcms%2Fssh%2FAbstractSsh.java;h=8d9e42e2903066ae2dfb43c95c4368238ada331b;hp=c91ab48058f06944489e559a519b6b0789eb348a;hb=b95462873703848193e56fcbe997693630db6121;hpb=55d88fba80cec198a0f11ba7545e19878c51fc5e diff --git a/org.argeo.cms.lib.sshd/src/org/argeo/cms/ssh/AbstractSsh.java b/org.argeo.cms.lib.sshd/src/org/argeo/cms/ssh/AbstractSsh.java index c91ab4805..8d9e42e29 100644 --- a/org.argeo.cms.lib.sshd/src/org/argeo/cms/ssh/AbstractSsh.java +++ b/org.argeo.cms.lib.sshd/src/org/argeo/cms/ssh/AbstractSsh.java @@ -2,6 +2,7 @@ package org.argeo.cms.ssh; import java.io.Console; import java.io.IOException; +import java.io.InputStream; import java.net.URI; import java.net.URISyntaxException; import java.util.Arrays; @@ -51,16 +52,20 @@ public abstract class AbstractSsh { } public void authenticate() { + authenticate(System.in); + } + + public void authenticate(InputStream in) { if (sshKeyPair != null) { session.addPublicKeyIdentity(sshKeyPair.asKeyPair()); } else { - if (!passwordSet) { + if (!passwordSet && in != null) { String password; Console console = System.console(); if (console == null) {// IDE System.out.print("Password: "); - try (Scanner s = new Scanner(System.in)) { + try (Scanner s = new Scanner(in)) { password = s.next(); } } else {