import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import org.omg.CORBA.TIMEOUT;
import ch.ethz.ssh2.ChannelCondition;
import ch.ethz.ssh2.Connection;
import ch.ethz.ssh2.Session;
import ch.ethz.ssh2.StreamGobbler;
public class SSHConnection {
public static Connection connection(){
Connection conn = null;
try {
conn = new Connection("192.168.0.148",22);
conn.connect();
boolean flag = conn.authenticateWithPassword("hdcc", "waygoing");
if(flag){
return conn;
}
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
//获得session 来操作命令
public static Session getSession(Connection conn){
Session sess = null;
if(conn!=null){
try {
sess = conn.openSession();
return sess;
} catch (IOException e) {
e.printStackTrace();
}
}
return null;
}
//关闭session
public static void closeSesssion(Session sess){
if(sess!=null){
sess.close();
}
}
//关闭连接
public static void closeConn(Connection conn,Session sess){
if(sess!=null){
sess.close();
}else if(conn!=null){
conn.close();
}
}
public static void main(String[] args) {
Connection conn = SSHConnection.connection();
if(conn!=null){
Session sess = SSHConnection.getSession(conn);
try {
sess.execCommand("cd /home/hdcc/webservice/apache-tomcat-6.0.41/webapps;ls");
sess.waitForCondition(ChannelCondition.EXIT_STATUS, 1000);
System.out.println(sess.getExitStatus());
InputStream stdout = new StreamGobbler(sess.getStdout());
BufferedReader br = new BufferedReader(new InputStreamReader(stdout));
String count;
while ((count = br.readLine())!=null) {
System.out.println(count);
}
SSHConnection.closeConn(conn, sess);
System.out.println(sess.getExitStatus());
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
SSHconnection
最新推荐文章于 2024-09-07 09:00:13 发布