`
taimukang
  • 浏览: 184013 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

java中用Ganymed实现SCP 和SFTP文件传输

    博客分类:
  • J2EE
阅读更多
备忘。
下载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实现SCP和SFTP文件传输.pdf

    Java运用ganymed-ssh2-build210.jar包远程连接操作linux服务器

    本文档的标题是"Java 运用 Ganymed-SSH2 库远程连接操作 Linux 服务器",这意味着我们将使用 Java 语言来远程连接 Linux 服务器,并使用 Ganymed-SSH2 库来实现远程连接和文件传输。 描述解释 描述部分提到使用 ...

    java程序里实现ssh, scp, sftp

    在java里可以通过Ganymed SSH-2, Expect4j等实现ssh登录,由于Ganymed SSH-2是纯java实现,并且可以实现scp,sftp等,因此我们采用Ganymed SSH-2 1> 下载安装 从http://code.google.com/p/ganymed-ssh-2/ 下载...

    SSH/SFTP/SCP For Matlab (v2):使用 Ganymed-SSH2 javalib 改进了 SSH2/SFTP/SCP(支持公钥)的 Matlab 接口。-matlab开发

    包括 SFTP 和 SCP 文件传输功能。 支持公钥认证和改进的多命令支持。 这需要用于 Java 的开源 Ganymed SSH-2,它可以免费获得并自动包含在 zip 文件中。 对于 SFTP-GET,必须使用包含的与 Matlab 兼容的自定义 ...

    Ganymed实现自动化部署接口

    - **文件传输**:Ganymed提供了SFTP(SSH File Transfer Protocol)的支持,可以安全地上传和下载文件,这对于部署代码、更新配置文件等操作至关重要。 - **会话管理**:Ganymed库还支持会话管理,可以在一个连接...

    Java(通过ganymed-ssh2-build210.jar)实现SSH远程连接linux终端

    ganymed-ssh2-build210.jar是Java的一个开源SSH库,它提供了SSH2协议的支持,允许开发者在Java程序中实现安全的远程登录、文件传输等功能。 首先,了解SSH(Secure Shell)协议,它是一种网络协议,用于在不安全的...

    java上传文件到linux服务器,操作linux服务器上文件,下载linux服务器文件,删除linux服务器文件

    总之,Java结合ganymed-ssh2库,为开发者提供了强大的工具,使他们能够在安全的环境下与Linux服务器进行交互,实现文件的上传、下载、操作和删除,极大地提升了远程管理服务器的效率。在开发过程中,理解这些基本...

    Ganymed SSH-2 for Java

    **Ganymed SSH-2 for Java** 是一个开源库,专为Java开发者设计,用于实现Secure Shell(SSH-2)协议。SSH-2是一种安全的网络协议,用于在网络之间提供加密通信,常用于远程登录、文件传输以及执行远程命令等。...

    openssh2源代码

    Ganymed SSH-2是一个Java实现的SSH2库,它为开发者提供了在Java环境中实现SCP(Secure Copy)、SFTP(Secure File Transfer Protocol)以及SSH2连接的能力。本文将深入探讨Ganymed SSH-2源代码,解析其核心机制,并...

    ganymed-ssh2-build251beta1.zip

    在java里可以通过Ganymed SSH-2, Expect4j等实现ssh登录,由于Ganymed SSH-2是纯java实现,并且可以实现scp,sftp等,因此我们采用Ganymed SSH-2

    Java读取远程主机文件

    总之,Java通过SSH连接远程主机并读取文件是通过第三方库实现的,`ganymed-ssh2`提供了强大的功能和灵活性。理解和掌握这些技术对于开发涉及远程文件操作的应用至关重要。在实际开发中,需要结合具体需求,灵活运用...

    ganymed-ssh2-build210.jar java远程访问linux服务器操作、上传下载文件

    * SCP远程访问Linux服务器读取文件 * User: boyer * Date: 17-12-7 * Time: 下午3:22 * To change this template use File | Settings | File Templates. */ public class ScpClient { //字符编码默认是utf-...

    jsch.jar--一个java实现的运行linux下面ssh和scp命令的工具

    ant运行scp以及sshexec任务所必须的jar包,这是optional的,所以ant默认不会有的,需要自己加上

    ganymed-ssh2 工具类

    除了执行命令,ganymed-ssh2还支持SFTP(Secure File Transfer Protocol),用于在本地和远程系统之间安全地传输文件。通过`Sftp`接口,我们可以打开SFTP会话,创建、删除、移动文件,以及上传和下载文件。例如,...

    ganymed-ssh2-bui.jar 和jad.exe

    jad.exe 是在eclipse中用java从远程服务器下载文件时会报错,在eclipse中跑的话,需要设置路径,windows-preferences-java-jadclipse中的path to decompiler设置为jad.exe的放置目录。 具体操作代码 参考我的博客: ...

    ganymed-ssh2-262.jar

    总的来说,Ganymed SSH2是一个强大的工具,它使得Java开发者能够轻松地在程序中集成SSH连接,实现远程服务器的自动化管理和控制,提升了开发效率和安全性。对于需要处理远程服务器任务的Java应用程序来说,这是一个...

    ganymed-ssh2-build210

    这个库不仅支持SSH连接,还包含了对SFTP(Secure File Transfer Protocol)的支持,使得在客户端和服务器之间进行安全文件传输成为可能。 描述中提到的“Java在用ssh协议远程在linux目标主机上执行命令的架包”,...

    ssh协议依赖jar包:ganymed-ssh2-build

    开发者可以通过这个类轻松实现文件的加密传输,确保数据安全。 在使用ganymed-ssh2-build210.jar时,首先需要将其添加到项目的类路径中。然后,创建`Connection`实例,调用`connect()`方法建立连接,通过`login()`...

    ganymed-ssh2 远程连接java实例代码

    Ganymed SSH-2支持SSH对话(远程命令执行和shell访问),本地和远程端口转发,本地数据流转发,X11转发和SCP。这些都没有依赖任何JCE provider,而且所有这些都包含加密的功能。该资源是java远程连接ssh服务器的实例...

Global site tag (gtag.js) - Google Analytics