备忘。
下载jar包:ganymed-ssh2-build210.jar
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.SCPClient;
import ch.ethz.ssh2.SFTPv3Client;
import ch.ethz.ssh2.Session;
import ch.ethz.ssh2.StreamGobbler;
public class Scp {
public static void main(String[] args)
{
String user = "root";
String pass = "******";
String host = "hostip";
Connection con = new Connection(host);
try {
con.connect();
boolean isAuthed = con.authenticateWithPassword(user, pass);
System.out.println("isAuthed===="+isAuthed);
SCPClient scpClient = con.createSCPClient();
scpClient.put("localFiles", "remoteDirectory"); //从本地复制文件到远程目录
scpClient.get("remoteFiles","localDirectory"); //从远程获取文件
scpClient.put("D:\\apache-tomcat-6.0.29\\webapps\\recursor\\WEB-INF\\serverfile\\192.168.2.190\\policy\\strategy-baddomain.conf", "/root/testor"); //从本地复制文件到远程目录
//
// SFTPv3Client sftpClient = new SFTPv3Client(con);
// sftpClient.mkdir("newRemoteDir", 6); //远程新建目录
// sftpClient.rmdir(""); //远程删除目录
//
// sftpClient.createFile("newRemoteFile"); //远程新建文件
// sftpClient.openFileRW("remoteFile"); //远程打开文件,可进行读写
Session session = con.openSession();
session.execCommand("uname -a && date && uptime && who"); //远程执行命令
//显示执行命令后的信息
System.out.println("Here is some information about the remote host:");
InputStream stdout = new StreamGobbler(session.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: " + session.getExitStatus());
session.close();
con.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
分享到:
相关推荐
java中用Ganymed实现SCP和SFTP文件传输.pdf
本文档的标题是"Java 运用 Ganymed-SSH2 库远程连接操作 Linux 服务器",这意味着我们将使用 Java 语言来远程连接 Linux 服务器,并使用 Ganymed-SSH2 库来实现远程连接和文件传输。 描述解释 描述部分提到使用 ...
在java里可以通过Ganymed SSH-2, Expect4j等实现ssh登录,由于Ganymed SSH-2是纯java实现,并且可以实现scp,sftp等,因此我们采用Ganymed SSH-2 1> 下载安装 从http://code.google.com/p/ganymed-ssh-2/ 下载...
包括 SFTP 和 SCP 文件传输功能。 支持公钥认证和改进的多命令支持。 这需要用于 Java 的开源 Ganymed SSH-2,它可以免费获得并自动包含在 zip 文件中。 对于 SFTP-GET,必须使用包含的与 Matlab 兼容的自定义 ...
- **文件传输**:Ganymed提供了SFTP(SSH File Transfer Protocol)的支持,可以安全地上传和下载文件,这对于部署代码、更新配置文件等操作至关重要。 - **会话管理**:Ganymed库还支持会话管理,可以在一个连接...
ganymed-ssh2-build210.jar是Java的一个开源SSH库,它提供了SSH2协议的支持,允许开发者在Java程序中实现安全的远程登录、文件传输等功能。 首先,了解SSH(Secure Shell)协议,它是一种网络协议,用于在不安全的...
总之,Java结合ganymed-ssh2库,为开发者提供了强大的工具,使他们能够在安全的环境下与Linux服务器进行交互,实现文件的上传、下载、操作和删除,极大地提升了远程管理服务器的效率。在开发过程中,理解这些基本...
**Ganymed SSH-2 for Java** 是一个开源库,专为Java开发者设计,用于实现Secure Shell(SSH-2)协议。SSH-2是一种安全的网络协议,用于在网络之间提供加密通信,常用于远程登录、文件传输以及执行远程命令等。...
Ganymed SSH-2是一个Java实现的SSH2库,它为开发者提供了在Java环境中实现SCP(Secure Copy)、SFTP(Secure File Transfer Protocol)以及SSH2连接的能力。本文将深入探讨Ganymed SSH-2源代码,解析其核心机制,并...
在java里可以通过Ganymed SSH-2, Expect4j等实现ssh登录,由于Ganymed SSH-2是纯java实现,并且可以实现scp,sftp等,因此我们采用Ganymed SSH-2
总之,Java通过SSH连接远程主机并读取文件是通过第三方库实现的,`ganymed-ssh2`提供了强大的功能和灵活性。理解和掌握这些技术对于开发涉及远程文件操作的应用至关重要。在实际开发中,需要结合具体需求,灵活运用...
* SCP远程访问Linux服务器读取文件 * User: boyer * Date: 17-12-7 * Time: 下午3:22 * To change this template use File | Settings | File Templates. */ public class ScpClient { //字符编码默认是utf-...
ant运行scp以及sshexec任务所必须的jar包,这是optional的,所以ant默认不会有的,需要自己加上
除了执行命令,ganymed-ssh2还支持SFTP(Secure File Transfer Protocol),用于在本地和远程系统之间安全地传输文件。通过`Sftp`接口,我们可以打开SFTP会话,创建、删除、移动文件,以及上传和下载文件。例如,...
jad.exe 是在eclipse中用java从远程服务器下载文件时会报错,在eclipse中跑的话,需要设置路径,windows-preferences-java-jadclipse中的path to decompiler设置为jad.exe的放置目录。 具体操作代码 参考我的博客: ...
总的来说,Ganymed SSH2是一个强大的工具,它使得Java开发者能够轻松地在程序中集成SSH连接,实现远程服务器的自动化管理和控制,提升了开发效率和安全性。对于需要处理远程服务器任务的Java应用程序来说,这是一个...
这个库不仅支持SSH连接,还包含了对SFTP(Secure File Transfer Protocol)的支持,使得在客户端和服务器之间进行安全文件传输成为可能。 描述中提到的“Java在用ssh协议远程在linux目标主机上执行命令的架包”,...
开发者可以通过这个类轻松实现文件的加密传输,确保数据安全。 在使用ganymed-ssh2-build210.jar时,首先需要将其添加到项目的类路径中。然后,创建`Connection`实例,调用`connect()`方法建立连接,通过`login()`...
Ganymed SSH-2支持SSH对话(远程命令执行和shell访问),本地和远程端口转发,本地数据流转发,X11转发和SCP。这些都没有依赖任何JCE provider,而且所有这些都包含加密的功能。该资源是java远程连接ssh服务器的实例...