JSch组件介绍:

JSch特性介绍:http://www.jcraft.com/jsch/

JSch组件下载: http://sourceforge.net/projects/jsch/files/jsch/0.1.53/jsch-0.1.53.zip/download

JSch案例地址: http://www.jcraft.com/jsch/examples/

实现说明以及实现代码:

功能图说明:

如上图所示,本地的IP地址为10.210.84.128,本地只能连接到10.210.81.5的22端口,现在需要访问10.210.81.4的9080端口服务,为解决这个问题,这里使用JSch给我们带来的好处。

package com.what21.app.jsch;

import com.jcraft.jsch.JSch;

import com.jcraft.jsch.JSchException;

import com.jcraft.jsch.Session;

public class SSHProxy {

private static final SSHProxy proxy = new SSHProxy();

private Session session;

/**

* @return

*/

public static SSHProxy getInstance(){

return proxy;

}

/**

* @param host SSH主机

* @param port SSH端口

* @param userId SSH用户

* @param passwd SSH口令

* @return

* @throws JSchException

*/

public void createSSHSession(String host,int port,String userId,String passwd)

throws JSchException{

JSch jsch = new JSch();

this.session = jsch.getSession(userId, host, port);

session.setPassword(passwd);

session.setConfig("StrictHostKeyChecking", "no");

session.connect();

}

/**

* @param localePort 本地服务端口

* @param targetHost 连接的目标主机

* @param targetPort 连接的目标端口

* @return

* @throws JSchException

*/

public void forward(int localePort,String targetHost,int targetPort)

throws JSchException{

session.setPortForwardingL(localePort, targetHost, targetPort);

}

/**

* @param args

*/

public static void main(String[] args) {

// ===============1. 实例化===============

SSHProxy proxy = SSHProxy.getInstance();

// ===============2. 创建SSH会话===============

//SSH服务器

String host = "10.210.81.5";

//SSH服务端口

int port = 22;

//SSH连接用户名

String userId = "root";

//SSH连接密码

String passwd = "123456";

try {

proxy.createSSHSession(host, port, userId, passwd);

} catch (JSchException e) {

e.printStackTrace();

}

// ===============3. 端口跳转===============

// 本地服务端口

int localePort = 9080;

// 目标服务器

String targetHost = "10.210.81.4";

// 目标服务端口

int targetPort = 9080;

try {

proxy.forward(localePort, targetHost, targetPort);

} catch (JSchException e) {

e.printStackTrace();

}

}

}

jsch设置代理_Java使用JSch组件实现SSH协议代理服务相关推荐

  1. jsch设置代理_尽管在JSch中设置了STRICT_HOST_CHECKING,但仍获取UnknownHostKey异常

    在使用java代码连接会话时在代码下执行时获取问题 . 尝试所有更改也尝试使用SFTPFileSystemConfigurationBuilder,但从那个场景我无法设置代理服务器用户名和密码 . i ...

  2. linux 谷歌浏览器设置代理_linux下chrome+Proxy Switchy+ssh和firefox+autoproxy+ssh | 学步园...

    继之前firefox+autoproxy+tor+privoxy失效之后,找到了更简单更快速的ssh代理方法:chrome+Proxy Switchy+ssh和firefox+autoproxy+ss ...

  3. jsch设置代理_SSH代理(ssh-agent)及SSH代理转发(agent-forwarding)功能介绍

    之前有详细介绍SSH密钥方式登录,SSH端口转发 ,以及X11转发,可点击如下原链接查看 结合下面拓扑图模拟演示并介绍SSH代理(ssh-agent)及SSH代理转发(agent-forwarding ...

  4. Jsch访问代理机报proxy error:Forbidden

    Jsch访问代理机报proxy error:Forbidden 问题解释 通过代理访问物理机被拒绝 原因分析 代理机用户名.端口错误或物理机用户名.端口.密码错误 代理机或物理机代理端口未开放 问题处 ...

  5. Jsonp、CORS、vue设置代理跨域

    Jsonp的原理 前言: 下面是原生jsonp的使用案例.后端使用node搭建的简易服务器. 1.前段代码 <!DOCTYPE html><html lang="en&qu ...

  6. devServer proxy跨域 设置代理 proxy

    概念 什么是同源策略 同源策略是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响.可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一 ...

  7. linux 设置代理 安装jdk mysql tomcat redis hadoop

    1.修改linux用户名和密码 前提进入root用户   原用户名 XX,改成用户名 YY         执行 usermod -l YY XX   修改用户 YY 的密码,如果你在root权限下 ...

  8. 用iframe设置代理解决ajax跨域请求问题

    用iframe设置代理解决ajax跨域请求问题 参考文章: (1)用iframe设置代理解决ajax跨域请求问题 (2)https://www.cnblogs.com/ranzige/p/370965 ...

  9. Linux中为wget命令设置代理

    方法1:使用命令参数-e wget本身没有专门设置代理的命令行参数,但是有一个"-e"参数,可以在命令行上指定一个原本出现在".wgetrc"中的设置.于是可以 ...

最新文章

  1. 热闹的聚会与尴尬的聚会_如何增加(和保存)您最喜欢的技术聚会
  2. Android开发艺术探索》读书笔记 (8) 第8章 理解Window和WindowManager
  3. java中的IO详解(上)
  4. 计算机从业者的技术成长学习之路
  5. 编程之美 2.14求数组的子数组之和的最大值
  6. Java配置----JDK开发环境搭建及环境变量配置
  7. 谈谈 SAP 产品 UI 开发中的组件概念
  8. 链表 队列 基本概念 为什么使用二叉查找树 抽象数据类型
  9. xib文件的读取方法
  10. RocketMQ单机版本安装(windows环境)
  11. windows 内部预览版与迅雷极速版不配合
  12. 使用wordpress分页函数paginate_links
  13. 【Oracle】SQLPLUS命令
  14. ThinkPHP视频教程 PHP-ThinkPHP 8天课程完整版
  15. html注释js,JavaScript 注释
  16. flex:1属性是什么意思
  17. 通过css实现按钮高亮
  18. Springboot中下划线转驼峰配置
  19. minecraft兑换码领取!
  20. Android文档管理器

热门文章

  1. Buy Tickets(poj 2828)
  2. 产品复盘 | 字节跳动-飞书团队工作1年收获
  3. 我会说我喜欢创业嘛?(每个月总有几天会更新…………标题一定要长)
  4. 哪个星座更适合做产品经理?
  5. PMCAFF | 知识梳理:30分钟搞定用户需求
  6. 一位互联网老兵分享,社会化运营案例解析(宜信内部干货)
  7. Linux实现开机自动运行普通用户脚本
  8. 分布式理论:CAP是三选二吗?
  9. 关于Juniper ScreenOS MIP/VIP地址说明
  10. Java之ClassLoader基础知识