blob: 025396086267e0c8869c03a66f9b3ca33e9ad1b4 [file] [log] [blame]
h1. Programmatically connect to the console
A connection to the Karaf console can also be done programmatically.
The following code is a simplified version of the code from the client library.
{pygmentize:java}
import org.apache.sshd.ClientChannel;
import org.apache.sshd.ClientSession;
import org.apache.sshd.SshClient;
import org.apache.sshd.client.future.ConnectFuture;
public class Main {
public static void main(String[] args) throws Exception {
String host = "localhost";
int port = 8101;
String user = "karaf";
String password = "karaf";
SshClient client = null;
try {
client = SshClient.setUpDefaultClient();
client.start();
ConnectFuture future = client.connect(host, port);
future.await();
ClientSession session = future.getSession();
session.authPassword(user, password);
ClientChannel channel = session.createChannel("shell");
channel.setIn(System.in);
channel.setOut(System.out);
channel.setErr(System.err);
channel.open();
channel.waitFor(ClientChannel.CLOSED, 0);
} catch (Throwable t) {
t.printStackTrace();
System.exit(1);
} finally {
try {
client.stop();
} catch (Throwable t) { }
}
System.exit(0);
}
}
{pygmentize}
You can find a more complete example at the [following location|http://svn.apache.org/repos/asf/karaf/trunk/client/src/main/java/org/apache/karaf/client/Main.java].