快捷搜索: 王者荣耀 脱发

【JSch】JSch通过堡垒机连接内网

pom

<!--    jsch	-->
    <dependency>
      <groupId>com.jcraft</groupId>
      <artifactId>jsch</artifactId>
      <version>0.1.54</version>
    </dependency>
       </dependency>
        <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
            <version>5.8.16</version>
        </dependency>
        <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
            <version>21.0</version>
        </dependency>

代码

Session session = JschUtil.getSession("堡垒机IP", 堡垒机开放端口, "堡垒机用户名", "堡垒机密码");
JschUtil.bindPort(session, "内网iP", 内网端口, 内网端口映射到的堡垒机端口(一般为堡垒机开放端口) );

      Properties sessionConfig = new Properties();
// 去掉首次连接确认
      sessionConfig.put("StrictHostKeyChecking", "no");
      session.setConfig(sessionConfig);

        ChannelExec channelExec = (ChannelExec) session.openChannel("exec");
        channelExec.setCommand("pwd");
        channelExec.connect();
       InputStream inputStream = channelExec.getInputStream();

        String result = new String(ByteStreams.toByteArray(inputStream));

        System.out.println(result);
经验分享 程序员 微信小程序 职场和发展