com.norbl.util.ssh
Class Ssh

java.lang.Object
  extended by com.norbl.util.ssh.Ssh

public class Ssh
extends java.lang.Object

Creates an ssh connection using Ganymed.


Field Summary
static int N_MAX_RETRIES
           
static long RETRY_INTERVAL
           
 
Constructor Summary
Ssh()
           
 
Method Summary
static void closeConnections(java.util.HashMap<java.lang.String,ch.ethz.ssh2.Connection> ht)
           
static java.util.HashMap<java.lang.String,ch.ethz.ssh2.Connection> connect(java.util.List<java.lang.String> hosts, java.lang.String user, java.io.File pemFile, long maxWait)
           
static java.util.HashMap<java.lang.String,ch.ethz.ssh2.Connection> connect(java.util.List<java.lang.String> hosts, java.lang.String user, java.io.File pemFile, long maxWait, long maxTotalWait)
           
static ch.ethz.ssh2.Connection connect(java.lang.String hostname, java.lang.String user, java.io.File pemFile, long maxWait)
          Creates an authenticated connection to ssh, retrying at intervals if necessary.
static boolean pingSsh(java.lang.String host)
          Uses ch.ethz.ssh2.Connection.connect() to test whether the host is reachable (since InetAddress.isReachable() does not work).
static void waitForPingSsh(java.lang.String host, long maxWaitMillis)
          Blocks until pingSsh(java.lang.String) } is successful or we time out.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

N_MAX_RETRIES

public static int N_MAX_RETRIES

RETRY_INTERVAL

public static long RETRY_INTERVAL
Constructor Detail

Ssh

public Ssh()
Method Detail

connect

public static ch.ethz.ssh2.Connection connect(java.lang.String hostname,
                                              java.lang.String user,
                                              java.io.File pemFile,
                                              long maxWait)
                                       throws ConnectFailureException
Creates an authenticated connection to ssh, retrying at intervals if necessary.

Parameters:
hostname -
user -
pemFile -
maxWait -
Returns:
Throws:
ConnectFailureException - if max wait is reached without a successful connections and authorization.

connect

public static java.util.HashMap<java.lang.String,ch.ethz.ssh2.Connection> connect(java.util.List<java.lang.String> hosts,
                                                                                  java.lang.String user,
                                                                                  java.io.File pemFile,
                                                                                  long maxWait)
                                                                           throws ConnectFailureException
Parameters:
-
Returns:
hosts connections keyed by host name;
Throws:
ConnectFailureException

connect

public static java.util.HashMap<java.lang.String,ch.ethz.ssh2.Connection> connect(java.util.List<java.lang.String> hosts,
                                                                                  java.lang.String user,
                                                                                  java.io.File pemFile,
                                                                                  long maxWait,
                                                                                  long maxTotalWait)
                                                                           throws ConnectFailureException
Throws:
ConnectFailureException

closeConnections

public static void closeConnections(java.util.HashMap<java.lang.String,ch.ethz.ssh2.Connection> ht)

pingSsh

public static boolean pingSsh(java.lang.String host)
Uses ch.ethz.ssh2.Connection.connect() to test whether the host is reachable (since InetAddress.isReachable() does not work).

Parameters:
host -
Returns:

waitForPingSsh

public static void waitForPingSsh(java.lang.String host,
                                  long maxWaitMillis)
                           throws SshPingFailureException
Blocks until pingSsh(java.lang.String) } is successful or we time out.

Parameters:
host -
Throws:
SshPingFailureException