zoukankan      html  css  js  c++  java
  • jsch通过SSH2执行linux命令

    public class SSHUtils {
    
        private Channel channel;
        private Session session = null;
        private int timeout = 60000;
    
        public SSHUtils(final String ipAddress, final String username, final String password) throws Exception {
    
            JSch jsch = new JSch();
            this.session = jsch.getSession(username, ipAddress, 22);
            this.session.setPassword(password);
            this.session.setConfig("StrictHostKeyChecking", "no");
            this.session.setTimeout(this.timeout);
            this.session.connect();
            this.channel = this.session.openChannel("shell");
            this.channel.connect(1000);
        }
    
        public String runShell(String cmd, String charset) throws Exception {
            String temp = null;
    
            InputStream instream = null;
            OutputStream outstream = null;
            try {
                instream = this.channel.getInputStream();
                outstream = this.channel.getOutputStream();
                outstream.write(cmd.getBytes());
                outstream.flush();
                Thread.sleep(2000);
                if (instream.available() > 0) {
                    byte[] data = new byte[instream.available()];
                    int nLen = instream.read(data);
    
                    if (nLen < 0) {
                        throw new Exception("network error.");
                    }
    
                    temp = new String(data, 0, nLen, "UTF-8");
                }
            }  finally {
                outstream.close();
                instream.close();
            }
            return temp;
        }
    
        public void close() {
            this.channel.disconnect();
            this.session.disconnect();
        }
    
        public static void main(final String[] args) throws Exception {
            SSHUtils sshUtil = new SSHUtils("10.5.31.157", "root", "codyy#123456");
            String res = sshUtil.runShell("/usr/local/baseframe/server.sh start ConfigServer-1.0.0.jar
    ", "utf-8");
            System.out.println(res);
            sshUtil.close();
        }
    }
  • 相关阅读:
    用户控件赋值
    计算一串数字中每个数字出现的次数
    如何理解c和c++的复杂类型声明
    STM32 NVIC学习
    stm32f10x_flash.c中文版
    IBM中国研究院Offer之感言——能力是一种态度
    对于STM32别名区的理解 (转载)
    STM32时钟学习之STM3210X_RCC.H解读
    STM32 DMA
    STM32 内部时钟输出PA.8(MCO)
  • 原文地址:https://www.cnblogs.com/LOVE0612/p/9855601.html
Copyright © 2011-2022 走看看