最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用JSCH框架通過跳轉(zhuǎn)機(jī)訪問其他節(jié)點(diǎn)的方法

 更新時(shí)間:2017年12月09日 09:25:52   作者:oldChicken  
下面小編就為大家分享一篇使用JSCH框架通過跳轉(zhuǎn)機(jī)訪問其他節(jié)點(diǎn)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧

之前搞了套遠(yuǎn)程訪問ssh進(jìn)行操作的代碼,最近有需求,需要通過一臺(tái)跳轉(zhuǎn)機(jī)才能訪問目標(biāo)服務(wù)。在網(wǎng)上搜了半天,也沒找到比較好的例子,就自己翻閱了下JSCH的API。但是看的云里霧里的。聯(lián)想了下,端口轉(zhuǎn)發(fā)的原理是否是把目標(biāo)節(jié)點(diǎn)ip:port映射到localhost:port,然后通過localhost:port發(fā)送消息就可以抵達(dá)目標(biāo)節(jié)點(diǎn)呢?

帶著這個(gè)推論,改造了下之前的代碼。

原有代碼通過jsch連接目標(biāo)節(jié)點(diǎn)服務(wù)器這里就不多說(shuō)了,自行百度,網(wǎng)上很多。

下面貼下改造之后的代碼:

/**
  * 獲取連接
  * @param ip 跳轉(zhuǎn)機(jī)host
  * @param userName 跳轉(zhuǎn)機(jī)用戶名
  * @param pwd 跳轉(zhuǎn)機(jī)密碼
  * @param port 跳轉(zhuǎn)機(jī)端口
  * @return ChannelSftp 返回值
  * @throws JSchException 連接異常
  */
 public static ChannelSftp connect(String ip, String userName, String pwd, int port) throws JSchException
 {
  if (port <= 0)
  {
   port = PORT;
  }
  Session sshSession = null;
  JSch jsch = new JSch();
  sshSession = jsch.getSession(userName, ip, port);
  
  sshSession.setPassword(pwd);
  Properties sshConfig = new Properties();
  sshConfig.put("StrictHostKeyChecking", "no");
  sshConfig.put("PreferredAuthentications",
    "password,keyboard-interactive");
  sshSession.setConfig(sshConfig);
  
  
  sshSession.connect(TMOUT);//可設(shè)置超時(shí)時(shí)間 
  //此處開始為端口映射到本地的部分
  sshSession.setPortForwardingL(本地端口, 目標(biāo)節(jié)點(diǎn)地址, 22);
  //完成上訴映射之后,即可通過本地端口連接了
  Session session = jsch.getSession("目標(biāo)服務(wù)用戶名", "127.0.0.1",本地端口);
  Properties remoteCfg = new Properties();
  remoteCfg.put("StrictHostKeyChecking", "no");
  remoteCfg.put("PreferredAuthentications",
    "password,keyboard-interactive");
  session.setConfig(remoteCfg);
  session.setPassword("目標(biāo)服務(wù)密碼");
  session.connect();
  //后續(xù)如何可自行改變,網(wǎng)上運(yùn)用很多
  Channel channel = (Channel) session.openChannel("sftp");//創(chuàng)建sftp通信通道 
  channel.connect();
  ChannelSftp sftp = (ChannelSftp) channel;
  
  return sftp;
 }

最后測(cè)試通過sftp訪問目標(biāo)節(jié)點(diǎn)的目錄,成功。

以上這篇使用JSCH框架通過跳轉(zhuǎn)機(jī)訪問其他節(jié)點(diǎn)的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Spring整合Mybatis方式之注冊(cè)映射器

    Spring整合Mybatis方式之注冊(cè)映射器

    這篇文章主要介紹了Spring整合Mybatis方式之注冊(cè)映射器,MapperFactoryBean注冊(cè)映射器的最大問題,就是需要一個(gè)個(gè)注冊(cè)所有的映射器,而實(shí)際上mybatis-spring提供了掃描包下所有映射器接口的方法,每種方式給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2024-03-03
  • WebSocket+Vue+SpringBoot實(shí)現(xiàn)語(yǔ)音通話的使用示例

    WebSocket+Vue+SpringBoot實(shí)現(xiàn)語(yǔ)音通話的使用示例

    本文主要介紹了WebSocket+Vue+SpringBoot實(shí)現(xiàn)語(yǔ)音通話的使用示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-11-11
  • Java中實(shí)現(xiàn)Redis管道技術(shù)的代碼詳解

    Java中實(shí)現(xiàn)Redis管道技術(shù)的代碼詳解

    在高并發(fā)的應(yīng)用中,數(shù)據(jù)訪問性能往往是系統(tǒng)性能的關(guān)鍵瓶頸之一,Redis作為一款高性能的內(nèi)存數(shù)據(jù)庫(kù),廣泛應(yīng)用于緩存、會(huì)話存儲(chǔ)等場(chǎng)景,然而,在某些需要執(zhí)行大量Redis命令的場(chǎng)景下,網(wǎng)絡(luò)往返延遲,Redis提供了管道技術(shù)解決這一問題,下面小編給大家詳細(xì)說(shuō)說(shuō)
    2025-04-04
  • 在Mybatis中使用自定義緩存ehcache的方法

    在Mybatis中使用自定義緩存ehcache的方法

    這篇文章主要介紹了在Mybatis中使用自定義緩存ehcache的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01
  • springboot實(shí)現(xiàn)maven多模塊和打包部署

    springboot實(shí)現(xiàn)maven多模塊和打包部署

    本文主要介紹了springboot實(shí)現(xiàn)maven多模塊和打包部署,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • 如何使用Spring?Boot設(shè)置上傳文件大小限制

    如何使用Spring?Boot設(shè)置上傳文件大小限制

    上傳文件是互聯(lián)網(wǎng)中常應(yīng)用的場(chǎng)景之一,最典型的情況就是上傳頭像等,下面這篇文章主要給大家介紹了關(guān)于如何使用Spring?Boot設(shè)置上傳文件大小限制的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-01-01
  • Java多線程中sleep和wait區(qū)別

    Java多線程中sleep和wait區(qū)別

    本文主要介紹了Java多線程中sleep和wait區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • IntelliJ IDEA 2018 最新激活碼(截止到2018年1月30日)

    IntelliJ IDEA 2018 最新激活碼(截止到2018年1月30日)

    這篇文章主要介紹了IntelliJ IDEA 2018 最新激活碼(截止到2018年1月30日)的相關(guān)資料,需要的朋友可以參考下
    2018-01-01
  • Java基礎(chǔ)開發(fā)之JDBC操作數(shù)據(jù)庫(kù)增刪改查,分頁(yè)查詢實(shí)例詳解

    Java基礎(chǔ)開發(fā)之JDBC操作數(shù)據(jù)庫(kù)增刪改查,分頁(yè)查詢實(shí)例詳解

    這篇文章主要介紹了Java基礎(chǔ)開發(fā)之JDBC操作數(shù)據(jù)庫(kù)增刪改查,分頁(yè)查詢實(shí)例詳解,需要的朋友可以參考下
    2020-02-02
  • SpringCloud升級(jí)2020.0.x版之OpenFeign簡(jiǎn)介與使用實(shí)現(xiàn)思路

    SpringCloud升級(jí)2020.0.x版之OpenFeign簡(jiǎn)介與使用實(shí)現(xiàn)思路

    在微服務(wù)系統(tǒng)中,我們經(jīng)常會(huì)進(jìn)行 RPC 調(diào)用。在 Spring Cloud 體系中,RPC 調(diào)用一般就是 HTTP 協(xié)議的調(diào)用。對(duì)于每次調(diào)用,都要經(jīng)過一系列詳細(xì)步驟,接下來(lái)通過本文給大家介紹SpringCloud OpenFeign簡(jiǎn)介與使用,感興趣的朋友一起看看吧
    2021-10-10

最新評(píng)論

上杭县| 崇明县| 吉木萨尔县| 辉南县| 郓城县| 辉南县| 清远市| 福清市| 喀喇| 禄丰县| 盘山县| 蕲春县| 维西| 德安县| 同心县| 临潭县| 乌鲁木齐县| 永泰县| 北碚区| 彭阳县| 托克逊县| 博野县| 夏邑县| 兰州市| 鸡东县| 上栗县| 偏关县| 尼玛县| 孝昌县| 邮箱| 贡觉县| 祁门县| 罗源县| 广灵县| 抚州市| 长治县| 涪陵区| 莱西市| 田林县| 保定市| 新丰县|