JSch 使用

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/

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值