`
xujian161
  • 浏览: 38224 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

jsch(Java Secure Channel)

    博客分类:
  • java
阅读更多

    JSch 是SSH2的一个纯Java实现。它允许你连接到一个sshd 服务器,使用端口转发,X11转发,文件传输等等。你可以将它的功能集成到你自己的 程序中。此外,JSch依赖JavaTM Cryptography Extension (JCE)

 

    JSch主页http://www.jcraft.com/jsch/

 

    其实,熟悉ant或多或少会知道。ant的task,sshexec和scp是支持JSch的。通过ant使用的方式特别简单,可以参考

scp:http://ant.apache.org/manual/OptionalTasks/scp.html

sshexec:http://ant.apache.org/manual/OptionalTasks/sshexec.html

 

    由于我需要把JSch整合到自己开发的系统来达到登录、访问远程服务器的需求。我是通过程序的方式来完成的。

 

    import com.jcraft.jsch.Channel;
    import com.jcraft.jsch.ChannelExec;
    import com.jcraft.jsch.JSch;
    import com.jcraft.jsch.Session;
    import com.jcraft.jsch.UIKeyboardInteractive;
    import com.jcraft.jsch.UserInfo;

 

    try{
      JSch jsch=new JSch();
      String user;//用户名

      String password;//密码

      String host; //主机
      String port;//端口

      Session session=jsch.getSession(user, host, port);

 

      UserInfo ui=new DefaultUserInfo();

      session.setPassword(password)
      session.setUserInfo(ui);
      session.connect();

 

       String command;//登录后执行的命令

      Channel channel=session.openChannel("exec");
      ((ChannelExec)channel).setCommand(command);

      channel.disconnect();
      session.disconnect();

 

    } catch (JSchException e) {

            channel.disconnect();
            session.disconnect();
            e.printStackTrace();
        }

 

  public static class DefaultUserInfo implements UserInfo, UIKeyboardInteractive{

    public String getPassphrase() {   
        return null;
    }

    public String getPassword() {
        return null;
    }

    public boolean promptPassphrase(String message) {
        return false;
    }

    public boolean promptPassword(String message) {
        return false;
    }

    public boolean promptYesNo(String message) {
        return false;
    }

    public void showMessage(String message) {
       
    }

    public String[] promptKeyboardInteractive(String destination, String name, String instruction, String[] prompt, boolean[] echo) {
        return null;
    }
}


 

分享到:
评论
2 楼 xujian161 2008-11-11  
benlsoft 写道

请教下,这个JSch怎么执行批量的命令?我测试了下,好象只能执行一个命令。

你说的执行批量的命令,我的理解两种情况。比如 1.执行mkdir,大批量执行,这样只需要迭代多次执行即可。2.执行useradd命令,需要和系统交互的情况。这种情况稍微复杂点。就是通过jsch的输入,输出流来执行的。
1 楼 benlsoft 2008-11-04  
请教下,这个JSch怎么执行批量的命令?我测试了下,好象只能执行一个命令。

相关推荐

    java使用JSCH进行连接远程服务器Demo

    Java使用JSCH(Java Secure Channel)库连接远程服务器是一个常见的任务,特别是在自动化运维、文件传输或者执行远程命令等场景中。JSCH是一个纯Java实现的SSH2库,它提供了连接到支持SSH协议的服务器的能力,如...

    详解Java使用Jsch与sftp服务器实现ssh免密登录

    Jsch(Java Secure Channel)是一个纯Java语言编写的库,它能够实现SSH(Secure Shell)功能。SSH是一种安全协议,它主要用于在不同的系统或服务器间建立安全的连接,并在传输数据的过程中对数据进行加密。在Java中...

    JSch - Java实现的SFTP(文件上传详解篇)

    JSch 是 Java Secure Channel 的缩写,JSch 是一个 SSH2 的纯 Java 实现。JSch 允许您连接到一个 SSH 服务器,并且可以使用端口转发、X11 转发、文件传输等,当然您也可以集成它的功能到您自己的应用程序。 SFTP 是...

    JSch - Java实现的SFTP(文件下载详解篇)

    在Java开发领域,使用JSch库进行SFTP(Secure File Transfer Protocol)操作已成为一种常见做法。SFTP是一种基于SSH协议的安全文件传输协议,它为数据传输提供加密保护。本文将详细介绍如何利用JSch库实现在Java应用...

    java进行ssh协议连接的jar包jsch-0.1.54.jar

    Java中的JSCH库(JSch)是实现SSH连接的开源库,它提供了全面的功能,包括SFTP(SSH File Transfer Protocol)、SCP(Secure Copy)以及shell会话等。在本文中,我们将深入探讨如何使用JSch-0.1.54.jar这个库来实现...

    JSCH免费下载啦

    JSCH(Java Secure Channel)是一个开源的Java库,它允许开发者在Java应用程序中实现SSH(Secure Shell)协议,从而支持SFTP(Secure File Transfer Protocol)。JSCH库提供了对SSH2协议的强大支持,使得用户可以...

    java操作sftp的工具类(JSch)

    Java操作SFTP(Secure File Transfer Protocol)主要依赖于第三方库,如JSch。JSch是一个纯Java实现的SSH2库,允许开发人员连接到支持SFTP的服务器,进行文件的上传、下载以及执行其他相关操作。本文将详细介绍如何...

    jsch依赖包.zip

    首先,Jsch是Java Secure Channel的一个项目,由Simon Töpfer开发并维护。它提供了Java API,使得用户能够建立SSH2连接,执行命令、打开shell、以及执行SFTP操作。在Java项目中,我们通常会引入`jsch-0.1.55.jar`这...

    jsch-0.1.54.jar

    JSch(Java Secure Channel)是一个开源的Java库,专门用于实现SSH2协议。这个库的主要目的是为Java开发者提供一种方便的方式来连接和交互SSHD(Secure SHell Daemon)服务器,SSHD是广泛使用的安全远程访问服务。...

    jsch实现sftp文件上传、下载 ,jsch jar

    JSCH(Java Secure Channel)是一个用Java实现的SSH2库,能够支持SFTP功能,包括文件的上传和下载。本篇文章将详细讲解如何利用JSCH库实现在Java程序中进行SFTP文件的上传与下载。 首先,我们需要在项目中引入JSCH...

    jsch.jar及实现代码 SftpUtil.java java使用sftp实现上传下载文件

    首先,`jsch.jar`是Java Secure Channel的缩写,这是一个由JCraft公司开发的开源项目。它提供了对SSH2协议的支持,包括公钥认证、密码认证、键盘交互式认证等多种认证方式,以及通过SFTP进行文件传输的功能。在项目...

    jsch API文档

    JSch(Java Secure Channel)是一个用Java实现的SSH2库,它允许Java应用程序连接到支持SSH协议的服务器,进行安全的数据传输。JSch库提供了广泛的API,涵盖了SSH协议的主要功能,包括连接建立、身份验证、会话管理、...

    JSch - Java实现的SFTP(文件上传/下载详解篇)

    JSch,全称为Java Secure Channel,是一个开源的Java库,用于实现SSH2协议,包括Secure File Transfer Protocol(SFTP)。SFTP是一种在不安全网络上安全传输文件的协议,它基于SSH2,提供了数据加密和身份验证功能。...

    jsch_API.CHM

    JSch是Java Secure Channel的缩写。JSch是一个SSH2的纯Java实现。它允许你连接到一个SSH服务器,并且可以使用端口转发,X11转发,文件传输等,当然你也可以集成它的功能到你自己的应用程序。

    jsch的jar包

    JSCH(Java Secure Channel)是一个开源的Java库,它实现了SSH2协议,用于在Java应用程序中实现安全的网络通信。SSH2协议提供了加密、身份验证和安全的数据传输,常用于文件传输服务如SFTP(Secure File Transfer ...

    jsch-0.1.42.jar及用java实现SFTP的例子

    JSch(Java Secure Channel)是一个开源的Java库,它实现了SSH(Secure SHell)协议,允许Java应用程序进行安全的远程登录、文件传输和其他与SSH相关的操作。在本文中,我们将深入探讨JSch库的核心功能,以及如何...

    jsch-0.1.55.jar java语言linux系统文件安全传输工具包 - 亲测可用,请放心下载

    JSch(Java Secure Channel)是一个开源的Java库,它实现了SSH2协议,用于在不同系统之间安全地传输文件。版本号0.1.55表明这是该库的一个稳定版本,适用于Java开发者在Linux系统上进行文件的安全传输。"亲测可用,...

    jsch-0.1.55.jar 包

    JSCH(Java Secure Channel)是Simon Stuart开发的一个开源项目,它提供了一种纯Java实现的SSH2协议接口。JSCH库支持以下功能: 1. 连接到SSH服务器 2. 用户认证(包括密码、公钥/私钥对) 3. 通道建立,如端口转发...

    jsch实现远程传输

    JSch(Java Secure Channel)是一个纯Java实现的SSH2库,它允许Java应用程序连接到支持SSH协议的服务器,进行安全的远程操作,如文件传输。在本文中,我们将深入探讨JSch库的工作原理、如何配置以及如何使用JSch实现...

Global site tag (gtag.js) - Google Analytics