java连接centos服务器,并执行命令

java连接需要用到ganymed-ssh2。
将 ganymed-ssh2-build210.jar 加入到项目的lib中

package com.jms;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;

import ch.ethz.ssh2.Connection;
import ch.ethz.ssh2.Session;
import ch.ethz.ssh2.StreamGobbler;

public class Test {

	/**
	 * @param args
	 * @throws IOException
	 */
	public static void main(String[] args) throws Exception {
		// TODO Auto-generated method stub
		System.out.println("开始连接主机");
		Connection conn = new Connection("localhost", 22);
		conn.connect();
		boolean isdenglu = conn
				.authenticateWithPassword("root", "123456");

		if (isdenglu) {
			System.out.println("ssh2登陆成功");
		} else {
			System.out.println("登陆失败");
		}
		
		System.out.println("当前目录:");
		
		Session ses = conn.openSession();
		ses.execCommand("pwd");
		InputStream stdout = new StreamGobbler(ses.getStdout());

		BufferedReader br = new BufferedReader(new InputStreamReader(stdout));
        while (true)      
        {      
            String line = br.readLine();      
            if (line == null)      
                break;      
            System.out.println(line);      
        }   

		System.out.println("运行结果:"+ses.getExitStatus());
		ses.close();
		conn.close();
	}

}

开始连接主机
ssh2登陆主机成功
当前目录:
/root
运行结果:0

你可能感兴趣的:(java,linux,ganymed-ssh2)