cioa a tutti
devo creare un connessio SSH con un host con SO linux.
Ho trovato la libreria "ganymed", sembrava funziona ma quando ho provato a lanciare alcuni comandi alcuni non funzionavano.
Questo è il codice base
codice:
String hostname = "127.0.0.1";
String username = "joe";
String password = "joespass";
try
{
/* Create a connection instance */
Connection conn = new Connection(hostname);
/* Now connect */
conn.connect();
boolean isAuthenticated = conn.authenticateWithPassword(username, password);
if (isAuthenticated == false)
throw new IOException("Authentication failed.");
/* Create a session */
Session sess = conn.openSession();
sess.execCommand("uname -a && date && uptime && who");
System.out.println("Here is some information about the remote host:");
InputStream stdout = new StreamGobbler(sess.getStdout());
BufferedReader br = new BufferedReader(new InputStreamReader(stdout));
while (true)
{
String line = br.readLine();
if (line == null)
break;
System.out.println(line);
}
/* Show exit status, if available (otherwise "null") */
System.out.println("ExitCode: " + sess.getExitStatus());
/* Close this session */
sess.close();
/* Close the connection */
conn.close();
}
catch (IOException e)
{
e.printStackTrace(System.err);
System.exit(2);
}
Nall'archivio con il jar della libreria ho trovato altri esempi tra cui quello che crea un shell tramite swing. La cosa che mi ha colpito che nella shell creata i comandi che nell'esempio che ho messo non funzionava li andavano.
Qualcuno sa risolvere questo mio problema??
Mi sapete consigliare un altra libreria che mi possa auitare?
PS. Prima di "ganymed" ho provato la libreria "jsch" e questa mi dava problemi in Run-time quando si doveva collegare con l'host.
Il mio scopo primario è iniziare con lanciare il seguente comando
ssh -s user@host netconf da un'applicazione java
Ringrazio in aticipo chi mi rispondera.