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();
        }
    }
  • 相关阅读:
    介绍一下Markdown语言
    通向架构师的道路(第一天)之Apache整合Tomcat lifetragedy的专栏 博客频道 CSDN.NET
    中国分省市地图导航SVG格式(基于Raphaël)
    异构计算完全解析CSDN.NET
    cocos2dx开启Wifi
    用“Web的思想”做PC客户端
    高斯模糊原理及几个实现例子
    android开启Wifi AP
    perl函数映射
    显示Iframe指定位置
  • 原文地址:https://www.cnblogs.com/LOVE0612/p/9855601.html
Copyright © 2011-2022 走看看