手机
当前位置:查字典教程网 >编程开发 >Java >如何利用Ganymed SSH-2模拟SSH操作
如何利用Ganymed SSH-2模拟SSH操作
摘要:官方地址:http://www.cleondris.ch/en/opensource-ssh2.php简介:GanymedSSH-2forJ...

官方地址:http://www.cleondris.ch/en/opensource-ssh2.php

简介:

Ganymed SSH-2 for Java is a library which implements the SSH-2 protocol in pure Java (tested on J2SE 1.4.2 and 5.0). It allows one to connect to SSH servers from within Java programs. It supports SSH sessions (remote command execution and shell access), local and remote port forwarding, local stream forwarding, X11 forwarding, SCP and SFTP. There are no dependencies on any JCE provider, as all crypto functionality is included.

程序:

复制代码 代码如下:

@Test

public void testSsh() {

String hostname = "192.168.0.1";

String username = "root";

String password = "password";

try {

/* Create a connection instance */

Connection conn = new Connection(hostname);

/* Now connect */

conn.connect();

System.out.println("connect ok");

/*

* Authenticate. If you get an IOException saying something like

* "Authentication method password not supported by the server at this stage."

* then please check the FAQ.

*/

boolean isAuthenticated = conn.authenticateWithPassword(username,password);

if (isAuthenticated == false)

throw new IOException("Authentication failed.");

System.out.println("Authentication ok");

/* Create a session */

Session sess = conn.openSession();

sess.execCommand("uname -a");

System.out.println("Here is some information about the remote host:");

/*

* This basic example does not handle stderr, which is sometimes

* dangerous (please read the FAQ).

*/

InputStream stdout = new StreamGobbler(sess.getStdout());

BufferedReader br = new BufferedReader(new InputStreamReader(stdout));

while (true) {

String line = br.readLine();

if (line == null)

break;

System.out.println(line);

}

/* Show exit status, if available (otherwise "null") */

System.out.println("ExitCode: " + sess.getExitStatus());

/* Close this session */

sess.close();

/* Close the connection */

conn.close();

} catch (IOException e) {

e.printStackTrace(System.err);

System.exit(2);

}

}

运行结果:

复制代码 代码如下:

connect ok

Authentication ok

Here is some information about the remote host:

Linux localhost.localdomain 2.6.22 #1 SMP Wed Aug 13 11:24:59 CST 2008 i686 i686 i386 GNU/Linux

ExitCode: 0

【如何利用Ganymed SSH-2模拟SSH操作】相关文章:

java通过url读取文件内容示例

Java类变量和成员变量初始化过程的应用介绍

java通过共享变量结束run停止线程的方法示例

java控制台输出数字金字塔示例分享

FileUtils扩展readURLtoString读取url内容

Java如何实现HTTP断点续传功能

Java调用.dll文件的方法

Java中如何调用cmd压缩文件

java自动装箱拆箱深入剖析

深入Sqlite多线程入库的问题

精品推荐
分类导航