关闭

java远程执行linux命令

422人阅读 评论(0) 收藏 举报

 

如何实现JAVA远程操控linux服务器,代码如下:

 

package hb.linux;

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 TestCtrCommond {

	public static void main(String[] args) {
		
		String hostname = "129.17.17.20";
		String username = "weblogic";
		String password = "weblogic";
		//指明连接主机的IP地址
		Connection conn = new Connection(hostname);
		Session ssh = null;
		try {
			//连接到主机
			conn.connect();
			//使用用户名和密码校验
			boolean isconn = conn.authenticateWithPassword(username, password);
			if(!isconn){
				System.out.println("用户名称或者是密码不正确");
			}else{
				System.out.println("已经连接OK");
				ssh = conn.openSession();
				//使用多个命令用分号隔开
//				ssh.execCommand("pwd;cd /tmp;mkdir hb;ls;ps -ef|grep weblogic");
				ssh.execCommand("cd /app/weblogic/Oracle/Middleware/user_projects/domains/base_domain;./startWebLogic.sh &");
				//只允许使用一行命令,即ssh对象只能使用一次execCommand这个方法,多次使用则会出现异常
//				ssh.execCommand("mkdir hb");
				//将屏幕上的文字全部打印出来
				InputStream  is = new StreamGobbler(ssh.getStdout());
				BufferedReader brs = new BufferedReader(new InputStreamReader(is));
				while(true){
					String line = brs.readLine();
					if(line==null){
						break;
					}
					System.out.println(line);
				}
				
			}
			//连接的Session和Connection对象都需要关闭
			ssh.close();
			conn.close();
			
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}

}

 

附件中有远程连接的SSH使用的jar包,还有相关的demo

 

 

 

0
0

猜你在找
【直播】计算机视觉原理及实战——屈教授
【套餐】深度学习入门视频课程——唐宇迪
【套餐】Hadoop生态系统零基础入门
【套餐】嵌入式Linux C编程基础
【套餐】2017软考系统集成项目——任铄
【套餐】Android 5.x顶级视频课程——李宁
【直播】广义线性模型及其应用——李科
【直播】从0到1 区块链的概念到实践
【直播】机器学习之凸优化——马博士
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:280105次
    • 积分:8434
    • 等级:
    • 排名:第2295名
    • 原创:1096篇
    • 转载:14篇
    • 译文:0篇
    • 评论:4条
    最新评论