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();
        }
    }
  • 相关阅读:
    轻量级通用上采样算子-CARAFE
    图像分割-Mask Scoring R-CNN
    对C#Chart控件使用整理
    C#中的三种timer
    C#的三大难点
    将Excel的数据导入DataGridView中(转)
    状态者设计模式
    C# 中 DataTable 使用详解。
    Excel连接字符串在.NET中的应用
    状态机设计思想
  • 原文地址:https://www.cnblogs.com/LOVE0612/p/9855601.html
Copyright © 2011-2022 走看看