KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > UsingKnownHosts


1 import java.io.BufferedReader JavaDoc;
2 import java.io.File JavaDoc;
3 import java.io.IOException JavaDoc;
4 import java.io.InputStream JavaDoc;
5 import java.io.InputStreamReader JavaDoc;
6
7 import ch.ethz.ssh2.Connection;
8 import ch.ethz.ssh2.KnownHosts;
9 import ch.ethz.ssh2.Session;
10 import ch.ethz.ssh2.StreamGobbler;
11
12 public class UsingKnownHosts
13 {
14     static KnownHosts database = new KnownHosts();
15
16     public static void main(String JavaDoc[] args) throws IOException JavaDoc
17     {
18         String JavaDoc hostname = "somehost";
19         String JavaDoc username = "joe";
20         String JavaDoc password = "joespass";
21
22         File JavaDoc knownHosts = new File JavaDoc("~/.ssh/known_hosts");
23
24         try
25         {
26             /* Load known_hosts file into in-memory database */
27
28             if (knownHosts.exists())
29                 database.addHostkeys(knownHosts);
30
31             /* Create a connection instance */
32
33             Connection conn = new Connection(hostname);
34
35             /* Now connect and use the SimpleVerifier */
36
37             conn.connect(new SimpleVerifier(database));
38
39             /* Authenticate */
40
41             boolean isAuthenticated = conn.authenticateWithPassword(username, password);
42
43             if (isAuthenticated == false)
44                 throw new IOException JavaDoc("Authentication failed.");
45
46             /* Create a session */
47
48             Session sess = conn.openSession();
49
50             sess.execCommand("uname -a && date && uptime && who");
51
52             InputStream JavaDoc stdout = new StreamGobbler(sess.getStdout());
53             BufferedReader JavaDoc br = new BufferedReader JavaDoc(new InputStreamReader JavaDoc(stdout));
54
55             System.out.println("Here is some information about the remote host:");
56
57             while (true)
58             {
59                 String JavaDoc line = br.readLine();
60                 if (line == null)
61                     break;
62                 System.out.println(line);
63             }
64
65             /* Close this session */
66
67             sess.close();
68
69             /* Close the connection */
70
71             conn.close();
72
73         }
74         catch (IOException JavaDoc e)
75         {
76             e.printStackTrace(System.err);
77             System.exit(2);
78         }
79     }
80 }
81
Popular Tags