Java通过SSH2协议执行远程Shell脚本(ganymed-ssh2-build210.jar)
ganymed-ssh2简介:
Ganymed SSH-2 for Java是用纯Java实现SSH-2协议的一个包。在使用它的过程中非常容易,只需要指定合法的用户名口令,
或者授权认证文件,就可以创建到远程Linux主机的连接,在建立起来的会话中调用该Linux主机上的脚本文件,执行相关操作。
使用方法:
将 ganymed-ssh2-build210.jar 加入到项目的lib中。
简单示例:
假定我在192.168.0.114的Linux系统的/home/lldu目录下放了一个文件夹test,test文件夹对应测试Java类的包名test,我们在该机器上运用javac ./test/Main.java编译后,再通过调用下面的代码完成远程调用:
import ch.ethz.ssh2.Connection;
import ch.ethz.ssh2.ConnectionInfo;
import ch.ethz.ssh2.Session;
/**
*
* @author lldu
*/
public class Main {
public static void main(String[] args) {
try {
Connection con = new Connection("192.168.0.114");
ConnectionInfo info = con.connect();
boolean result = con.authenticateWithPassword("lldu", "123456");
Session session = con.openSession();
session.execCommand("java test.Main");
} catch (Exception ex) {
System.out.println(ex.getLocalizedMessage());
}
}
}
总结使用步骤:
1.首先构造一个连接器,传入一个需要登陆的ip地址
Connection conn = new Connection(ipAddr);
conn.conne