JAVA 连接Linux 并执行命令

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_33335577/article/details/82689933

Maven相关依赖

	<dependency>
	    <groupId>ch.ethz.ganymed</groupId>
	    <artifactId>ganymed-ssh2</artifactId>
	    <version>262</version>
	</dependency>

在来一发简单粗暴的代码


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;

public class LinuxSSH {

	/**主机地址*/
	private static String host="10.9.18.54";
	/**连接端口*/
	private static int port = 22;
	/**登入用户*/
	private static String userName="root";
	/**登入密码*/
	private static String userPass="123456";
	/**执行的命令*/
	private static String cmd = "uname -a";
	
	public static void main(String[] args) throws IOException {
		Connection conn = new Connection(host,port);
		conn.connect();
		//身份验证
		boolean login = conn.authenticateWithPassword(userName,userPass);
		if (!login) {
			System.out.println("登入结果:"+login);
			return;
		}
		System.out.println("登入成功。。。");
		//获取会画
		Session session = conn.openSession();
		//执行命令
		session.execCommand(cmd);
		//拿到执行结果
		InputStream stdout = session.getStdout();
		InputStreamReader reader = new InputStreamReader(stdout);
		BufferedReader bufferedReader = new BufferedReader(reader);
		System.out.println("Result : "+bufferedReader.readLine());
		//退出工作
		stdout.close();
		reader.close();
		bufferedReader.close();
		session.getExitSignal();
		session.close();
		conn.close();
		System.out.println("Exit");
	}

}

猜你喜欢

转载自blog.csdn.net/qq_33335577/article/details/82689933