From 48ded2421114c4c87ef3f8005c9f793a5d077cbd Mon Sep 17 00:00:00 2001 From: Mike Lockwood Date: Tue, 10 Jan 2012 14:24:22 -0800 Subject: ganymed-ssh2-build251beta1 Signed-off-by: Mike Lockwood --- examples/PublicKeyAuthentication.java | 77 +++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 examples/PublicKeyAuthentication.java (limited to 'examples/PublicKeyAuthentication.java') diff --git a/examples/PublicKeyAuthentication.java b/examples/PublicKeyAuthentication.java new file mode 100644 index 0000000..e6649fa --- /dev/null +++ b/examples/PublicKeyAuthentication.java @@ -0,0 +1,77 @@ +/* + * Copyright (c) 2006-2011 Christian Plattner. All rights reserved. + * Please refer to the LICENSE.txt for licensing details. + */ +import java.io.BufferedReader; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; + +import ch.ethz.ssh2.Connection; +import ch.ethz.ssh2.Session; +import ch.ethz.ssh2.StreamGobbler; + +public class PublicKeyAuthentication +{ + public static void main(String[] args) + { + String hostname = "127.0.0.1"; + String username = "joe"; + + File keyfile = new File("~/.ssh/id_rsa"); // or "~/.ssh/id_dsa" + String keyfilePass = "joespass"; // will be ignored if not needed + + try + { + /* Create a connection instance */ + + Connection conn = new Connection(hostname); + + /* Now connect */ + + conn.connect(); + + /* Authenticate */ + + boolean isAuthenticated = conn.authenticateWithPublicKey(username, keyfile, keyfilePass); + + if (isAuthenticated == false) + throw new IOException("Authentication failed."); + + /* Create a session */ + + Session sess = conn.openSession(); + + sess.execCommand("uname -a && date && uptime && who"); + + InputStream stdout = new StreamGobbler(sess.getStdout()); + + BufferedReader br = new BufferedReader(new InputStreamReader(stdout)); + + System.out.println("Here is some information about the remote host:"); + + while (true) + { + String line = br.readLine(); + if (line == null) + break; + System.out.println(line); + } + + /* Close this session */ + + sess.close(); + + /* Close the connection */ + + conn.close(); + + } + catch (IOException e) + { + e.printStackTrace(System.err); + System.exit(2); + } + } +} -- cgit v1.2.3