package com.test; import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.InputStreamReader; import org.junit.Test; import ch.ethz.ssh2.Connection; import ch.ethz.ssh2.Session; import com.util.ConnectionUtils; /** * Ganymed SSH-2 for Java * @author bain * http://www.ganymed.ethz.ch/ssh2/ * */ public class SSH2TestDemo { @Test public void test1() throws Exception { Connection conn = ConnectionUtils.getConnection("192.168.94.128"); conn.connect(); boolean isAuthenticated = conn.authenticateWithPassword("bain", "521"); if (isAuthenticated) { System.out.println("授权成功"); } Session session = conn.openSession(); // 执行命令 // session.execCommand("ls -al "); // 查看文章内容,将文章内容返回到客户端 session.execCommand("ls -al"); // 阻塞访问数据流 BufferedReader reader = new BufferedReader(new InputStreamReader( session.getStdout())); String line = null; while ((line = reader.readLine()) != null) { System.out.println(line); } // 如果执行结果正确的话,返回结果为0, // 执行结果出错的话,返回127. System.out.println("反映结果为" + session.getExitStatus()); Integer result = session.getExitStatus(); // 出现错误--只有在执行结果出现错误时,session.getStderr()才会返回inputstream BufferedReader reader2 = new BufferedReader(new InputStreamReader( session.getStderr())); String line1 = null; while ((line1 = reader2.readLine()) != null) {//如果执行结果正确的话,就不会执行此while循环 System.out.println(line1); } //一个session只能用于执行一个命令,如果想要同时执行多个命令的话,那么可以通过创建多个connection完成 //如果一个命令执行完毕之后,需要将创建的session关闭 session.close(); session=conn.openSession(); session.execCommand(" cd /"); session.close(); conn.close(); } }
相关推荐
**Ganymed SSH-2 for Java** 是一个开源库,专为Java开发者设计,用于实现Secure Shell(SSH-2)协议。SSH-2是一种安全的网络协议,用于在网络之间提供加密通信,常用于远程登录、文件传输以及执行远程命令等。...
Java 远程连接 Linux 服务器使用 Ganymed-SSH2 库 标题解释 本文档的标题是"Java 运用 Ganymed-SSH2 库远程连接操作 Linux 服务器",这意味着我们将使用 Java 语言来远程连接 Linux 服务器,并使用 Ganymed-SSH2...
在Java开发中,Ganymed SSH-2库提供了一套完整的API,使开发者能够轻松地集成SSH功能到他们的应用程序中。这个库不仅支持SSH连接,还包含了对SFTP(Secure File Transfer Protocol)的支持,使得在客户端和服务器...
ganymed-ssh2工具类为Java开发者提供了一个强大的SSH2客户端实现,简化了与远程服务器的交互过程。从建立安全连接到执行命令、传输文件,这个库覆盖了SSH协议的诸多功能,且易于集成到任何Java项目中。通过学习和...
Ganymed SSH2是一个由Christian Plattner开发的Java实现,它允许Java程序以客户端模式连接到支持SSH2的服务器,执行各种操作。 标签“ssh2 ganymed”进一步确认了这个库与SSH2协议以及Ganymed项目的关系。Ganymed ...
ganymed-ssh2是一个开源Java实现的SSH2客户端库,由瑞士苏黎世联邦理工学院的开发团队创建。在版本263中,ganymed-ssh2引入了更高级的加密算法和安全改进,旨在提高数据传输的安全性,为开发者提供了更强大的安全...
Ganymed SSH2是一款开源的Java实现的SSH2客户端库,它为Java开发者提供了全面的SSH2功能,包括连接、身份验证、加密、端口转发等。本文将深入探讨Ganymed SSH2 Build 261,以及与其相关的源码分析。 Ganymed SSH2 ...
其中,Ganymed SSH-2是Java中一个流行的SSH客户端库,提供了完整的SSH协议实现。 在Java应用程序中,我们可以使用Ganymed SSH-2库来连接Linux服务器,执行命令并获取结果。Ganymed SSH-2库提供了完整的SSH协议实现...
Ganymed SSH2是开源项目,提供了全面的SSH2客户端功能,包括文件传输、命令执行和端口转发。 首先,我们需要理解SSH的基本概念。SSH主要用于替代传统的telnet和rlogin等不安全的远程登录协议,因为它提供了数据的...
ganymed-ssh2是瑞士苏黎世联邦理工学院的一个项目,提供了一个轻量级且功能强大的Java SSH2客户端库。它的版本build210包含了一些关键功能,例如公钥和私钥的身份验证、端口转发、会话管理和文件传输。 要使用...
我的Wrt 一个简单的 Android openWrt 控制器,它实现了一个简单的“命令行”界面来执行命令。 客户端使用 ganymed-ssh2-build210.jar 库与 SSH 服务器通信。
"ganymed-ssh2"是一个Java实现的SSH-2库,提供了全面的SSH功能,包括连接建立、会话管理、密钥交换、身份验证以及通道建立等。MATLAB通过Javalib(Java库的接口)与ganymed-ssh2库交互,实现了在MATLAB环境中调用...
在Java开发中,Ganymed SSH2是一个开源库,实现了SSH2协议,允许开发者通过编程方式与远程服务器进行交互。Ganymed-ssh2-262.jar就是这个库的特定版本,它包含了所有必要的类和方法,可以让你在Java程序中实现SSH...
一个简单的SFTP Java applet客户端,建立在Ganymed SSH-2 Java库上。
该方法通过使用Java的SSH客户端来连接远程Linux服务器,执行Shell脚本,并获取输出信息。 一、添加依赖 要使用Java远程调用Shell脚本,需要添加以下依赖项: * Ganymed SSH-2:用于连接远程Linux服务器 * Commons...
使用Xshell或其他SSH客户端登录服务器,进入`~/.ssh`目录,编辑`authorized_keys`文件,将公钥信息粘贴到文件末尾。如果文件不存在,需要手动创建并确保其权限设置正确:`chmod 600 authorized_keys`。此外,`.ssh`...
我们可以使用 SSH 客户端上传 jar 包到服务器上,然后使用以下命令运行 jar 包: ``` java -jar test22.jar ``` 这将执行我们的 main 方法,并打印出 "Hello World!" 的信息。 Tips 和注意事项 在使用 Eclipse ...
8. **ch**:这个可能是另一个库的前缀,但没有具体的库名,可能是指瑞士的开源项目,例如ch.qos.logback(日志管理)或者ch.ethz.ganymed(SSH2客户端库)等。 这些JAR文件都是Java开发者日常工作中可能会用到的...