星空网 > 软件开发 > Java

使用JSCH框架通过跳转机访问其他节点

  之前搞了套远程访问ssh进行操作的代码,最近有需求,需要通过一台跳转机才能访问目标服务。在网上搜了半天,也没找到比较好的例子,就自己翻阅了下JSCH的API。但是看的云里雾里的。联想了下,端口转发的原理是否是把目标节点ip:port映射到localhost:port,然后通过localhost:port发送消息就可以抵达目标节点呢?

  带着这个推论,改造了下之前的代码。

原有代码通过jsch连接目标节点服务器这里就不多说了,自行百度,网上很多。

下面贴下改造之后的代码:

使用JSCH框架通过跳转机访问其他节点使用JSCH框架通过跳转机访问其他节点
 1 /** 2   * 获取连接 3   * @param ip 跳转机host 4   * @param userName 跳转机用户名 5   * @param pwd 跳转机密码 6   * @param port 跳转机端口 7   * @return ChannelSftp 返回值 8   * @throws JSchException 连接异常 9  */10  public static ChannelSftp connect(String ip, String userName, String pwd, int port) throws JSchException11  {12   if (port <= 0)13   {14    port = PORT;15   }16   Session sshSession = null;17   JSch jsch = new JSch();18   sshSession = jsch.getSession(userName, ip, port);19   20   sshSession.setPassword(pwd);21   Properties sshConfig = new Properties();22   sshConfig.put("StrictHostKeyChecking", "no");23   sshConfig.put("PreferredAuthentications",24     "password,keyboard-interactive");25   sshSession.setConfig(sshConfig);26  27   28   sshSession.connect(TMOUT);//可设置超时时间 29   //此处开始为端口映射到本地的部分30   sshSession.setPortForwardingL(本地端口, 目标节点地址, 22);31   //完成上诉映射之后,即可通过本地端口连接了32   Session session = jsch.getSession("目标服务用户名", "127.0.0.1",本地端口);33   Properties remoteCfg = new Properties();34   remoteCfg.put("StrictHostKeyChecking", "no");35   remoteCfg.put("PreferredAuthentications",36     "password,keyboard-interactive");37   session.setConfig(remoteCfg);38   session.setPassword("目标服务密码");39   session.connect();40   //后续如何可自行改变,网上运用很多41   Channel channel = (Channel) session.openChannel("sftp");//创建sftp通信通道 42   channel.connect();43   ChannelSftp sftp = (ChannelSftp) channel;44   45   return sftp;46  }
View Code

最后测试通过sftp访问目标节点的目录,成功

 

原标题:使用JSCH框架通过跳转机访问其他节点

关键词:JS

JS
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

Droga5:https://www.goluckyvip.com/tag/17649.html
欧洲航线:https://www.goluckyvip.com/tag/1765.html
Droom:https://www.goluckyvip.com/tag/17650.html
Drop Shipping:https://www.goluckyvip.com/tag/17651.html
Dropbox:https://www.goluckyvip.com/tag/17652.html
Dropee:https://www.goluckyvip.com/tag/17653.html
长治婚庆女司仪和主持人:https://www.vstour.cn/a/366176.html
北京丰台区水上乐园哪家好玩?:https://www.vstour.cn/a/366177.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流