`

JSch 使用

    博客分类:
  • Java
 
阅读更多

JSCH是一个纯粹的用java实现SSH功能的java  library. 官方地址为:http://www.jcraft.com/jsch/

备注: SSH是一个安全协议,用来在不同系统或者服务器之间进行安全连接。

          SSH在连接和传送的过程中会加密所有的数据

 

Mvn引用:

<dependency>
    <groupId>com.jcraft</groupId>
    <artifactId>jsch</artifactId>
    <version>0.1.46</version>
</dependency>

 

一, 特点

   1,  基于DSA和RSA加密。

    2, 可以实现4中认证机制。分别是:

        (1i): password

        (2i): publickey(DSA,RSA)

        (3i): keyboard-interactive

         (4i): gss-api-with-mic

    3.生成public/private key pair.

    4.执行bash script 等脚本

    5.可以通过HTTP/SOCK5 proxy

    6.支持常见SSH1协议和SSH2协议

 

二, demo

     参数说明:

         user:所连接的Linux主机登录时的用户名
         password:登录密码
         server:主机地址
        serverport: 端口号,默认为22

 

public String exeCommand(String host, int port, String user,
			String password, String command, ByteArrayOutputStream baos)
			throws JSchException, IOException {

		JSch jsch = new JSch();
		Session session = jsch.getSession(user, host, port);
		session.setConfig("StrictHostKeyChecking", "no");
		session.setPassword(password);
		session.connect();

		ChannelExec channelExec = (ChannelExec) session.openChannel("exec");
		InputStream in = channelExec.getInputStream();
		channelExec.setCommand(command);
		channelExec.setErrStream(baos);
		channelExec.connect();
		String out = IOUtils.toString(in, "UTF-8");

		channelExec.disconnect();
		session.disconnect();
		return out;
	}

  

ByteArrayOutputStream baos = new ByteArrayOutputStream();
		String out = "";
		try {
			out = exeCommand(FILESERVER, FILESERVERPORT, FILESERVERUSER, FILESERVERPASSWORD, command, baos);
		} catch (JSchException e) {
			flag = "E";
		} catch (IOException e) {
			flag = "E";
		}
		String err = baos.toString();
		
		if (!err.isEmpty()) {
			String[] errors = err.split("\n");
			for (String error : errors) {
				System.out.println("error=" + error);
			}
			if (errors.length == files.length) {
				flag = "E";
			} else {
				flag = "Y";
			}
		}
		System.out.println("=================share end==================");
		return flag;

 

  

 更多示例: http://www.jcraft.com/jsch/examples/

 

 

 

分享到:
评论

相关推荐

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

    是使用java使用JSCH进行连接远程服务器的Demo,让更多刚刚接触的同学进行学习。

    jsch-0.1.54-API文档-中文版.zip

    赠送jar包:jsch-0.1.54.jar; 赠送原API文档:jsch-0.1.54-javadoc.jar; 赠送源代码:jsch-0.1.54-sources.jar; 赠送Maven依赖信息文件:jsch-0.1.54.pom; 包含翻译后的API文档:jsch-0.1.54-javadoc-API文档-...

    jsch_jsch jsch_jsch jsch_jsch

    jsch_jschjsch_jschjsch_jschjsch_jschjsch_jschjsch_jschjsch_jschjsch_jsch

    JSCH免费下载啦

    Jsch jar包 下载 SFTP 欢迎是大家下载 jsch-0.1.51.jar

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

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

    jsch文件名中文乱码解决办法

    *jsch的源文件 *jsch的依赖包 *用jsch源文件及依赖包构建的项目,便于修改其源码* 修改源码后重新导出的jar包 *我写的一段小程序,实现的主要功能是同步sftp上的文件夹(sftp-&gt;本地) *我写的一个小程序,用于将字符...

    jsch-0.1.55_jsch_JSCH0.1._55_服务器_jsch0.1.55_

    JSch 是SSH2的一个纯Java实现。它允许你连接到一个sshd 服务器,使用端口转发,X11转发,文件传输等等。你可以将它的功能集成到你自己的 程序中。同时该项目也提供一个J2ME版本用来在手机上直连SSHD服务器

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

    主要介绍了详解Java使用Jsch与sftp服务器实现ssh免密登录,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    jsch-0.1.53 使用sftp协议上传下载文件名中文乱码解决办法

    jsch-0.1.53 不支持修改编码格式,sftp.setFilenameEncoding("GBK");这样修改是不起作用的,所以必须修改源码。此处是修改源码后重新导出的jar包。

    jsch的jar包最新版

    它允许你连接到一个sshd 服务器,使用端口转发,X11转发,文件传输等等。你可以将它的功能集成到你自己的 程序中。同时该项目也提供一个J2ME版本用来在手机上直连SSHD服务器。同时该开发包也提供 J2ME 下的版本

    jsch jar包

    包括jsch-0.1.51.jar jsch-0.1.52.jar jsch-0.1.53.jar三个版本的包

    jsch-0.1.42

    jsch-0.1.42jsch-0.1.42jsch-0.1.42jsch-0.1.42jsch-0.1.42jsch-0.1.42jsch-0.1.42jsch-0.1.42jsch-0.1.42

    jsch API文档

    jsch_APIchm.rar

    jsch依赖包.zip

    java使用Jsch组件链接资源上传下载文件 java使用Jsch组件链接资源上传下载文件 依赖jar包jsch-0.1.55.jar

    jsch-0.1.53.jar

    jsch-0.1.53 jsch-0.1.53 jsch-0.1.53 jsch-0.1.53 jsch-0.1.53 jsch-0.1.53

    jsch实现远程传输

    jsch,jsch工具类,jsch实现远程sftp,jsch实现过程 通过JSch实现sftp传输文件

    jsch连接linux例子

    这里是我使用jsch连接linux并且执行相关命令的案例,希望对你有所帮助。

    jsch API CHM格式

    JSch 是SSH2的一个纯Java实现。它允许你连接到一个sshd 服务器,使用端口转发,X11转发,文件传输等等。你可以将它的功能集成到你自己的 程序中。 从之前发布其他chm文件下载用户的反映看,有不少朋友反映下载后...

    使用jsch中的ChannelSftp上传文件和文件夹[参考].pdf

    使用jsch中的ChannelSftp上传文件和文件夹[参考].pdf

    jsch-0.1.54.zip

    包含了源码与示例。 jar包单独下载,链接: https://sourceforge.net/projects/jsch/?source=typ_redirect

Global site tag (gtag.js) - Google Analytics