java远程执行linux命令

原创 2013年12月04日 10:04:38

 

如何实现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

 

 

 

Windows 平台下 LiteIDE 的安装和使用

1. 安装 Go 语言并设置环境变量参考博客《Windows 平台下 Go 语言的安装和环境变量设置》。2. MinGW 的下载和安装Windows 下的 Go 调试还需要安装 MinGW。2.1 下...
  • defonds
  • defonds
  • 2016年01月19日 18:36
  • 28325

sshxcute --java远程执行linux/unix命令的工具类

原文地址:https://www.ibm.com/developerworks/cn/opensource/os-sshxcute/ --------------------------------...

java 使用jsch 远程链接linux执行命令

一个简单的jsch链接linux并执行命令的utils。           import java.io.BufferedReader; import java.io.IOException; i...

Java 远程执行 Linux 的命令

Java 远程执行 Linux 系统的命令 在 Java 中可以通过 SSH2 协议远程执行 Linux 系统的命令或 Shell 脚本。...

windows 下 java程序jsch连接远程linux服务器执行shell命令

java远程连接服务的shell需要使用SSH的登录方式,可以使用JSch技术。JSch 是SSH2的一个纯Java实现。它允许你连接到一个sshd 服务器,使用端口转发,X11转发,文件传输等等。 ...

java远程执行linux命令

使用ganymed-ssh2去调用执行远程linux的命令,在maven上查找,发现使用最多的包是ganymed-ssh2-build210.jar、所以就下载了它 private static...

Ganymed SSH-2 java执行远程linux机器命令工具

Ganymed SSH2 for Java is a library which implements the SSH-2 protocol in pure Java(tested on J2SE 1...

Java中通过jsch来连接远程服务器执行linux命令

有时候你可能需要通过代码来控制执行linux命令实现某些功能。针对这类问题可以使用JSCH来实现,具体代码如下:public class CogradientImgFileManager{ pr...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java远程执行linux命令
举报原因:
原因补充:

(最多只允许输入30个字)