欢迎访问优讯网!
您当前的位置:首页 > 爱编程

Java使用ganymed工具包执行LINUX命令教程

时间:2020-01-14 08:04:40  来源:优讯网  作者:小卡司  浏览次数:

了解更多开发技巧,请访问,架构师小跟班官网:https://www.jiagou1216.com  

package com.bootdo;

import ch.ethz.ssh2.Connection;
import ch.ethz.ssh2.Session;
import ch.ethz.ssh2.StreamGobbler;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * ganymed简单教程Demo,第一步:引入jar包
 * <dependency>
 * <groupId>ch.ethz.ganymed</groupId>
 * <artifactId>ganymed-ssh2</artifactId>
 * <version>262</version>
 * </dependency>
 */
public class GanymedDemo {
    //命令集
    private static List<String> commands = null;
    private static void initCommands() {
        commands = new ArrayList<String>();
        //查看token.conf文件内容
        commands.add("cat /usr/local/websockify/token/token.conf");
        //追加文本到token.conf文件
        commands.add("欢迎访问架构师小跟班: >> /usr/local/websockify/token/token.conf");
        commands.add("echo www.jiagou1216.com >> /usr/local/websockify/token/token.conf");
    }

    public static void main(String[] args) {
        //第二步:连接Linux服务器
        String hostName = "192.168.1.75";
        String userName = "root";
        String password = "admin@123";
        try {
            //连接服务器
            Connection conn = new Connection(hostName);
            conn.connect();
            boolean isAuthenticated = conn.authenticateWithPassword(userName, password);
            if (!isAuthenticated) {
                throw new IOException("Authentication failed.");
            }
            //初始化命令参数
            initCommands();
            //第三步:执行shell命令
            StringBuffer details = new StringBuffer();
            for (String command : commands) {
                Session sess = conn.openSession();
                sess.execCommand(command);
                InputStream stdout = new StreamGobbler(sess.getStdout());
                BufferedReader br = new BufferedReader(new InputStreamReader(stdout));
                while (true) {
                    String line = br.readLine();
                    if (line == null) {
                        break;
                    }
                    details.append(line + "\r\n");//换行
                }
                System.out.println(details);
            }
            conn.close();
        } catch (IOException e) {
            e.printStackTrace(System.err);
        }
    }
}

 

来顶一下
返回首页
返回首页

原文链接:https://my.oschina.net/u/3759369/blog/3157858


推荐资讯
如何下载旧版centos iso镜像 如何下载迷你mini版的centos镜像
如何下载旧版centos i
计算机的正确使用姿势 电脑痴如何正确的使用电脑
计算机的正确使用姿势
好用的后台管理的前端框架模版H-ui H-ui框架模版分享
好用的后台管理的前端
微信电脑多开方法 无需辅助电脑版微信双开方法分享
微信电脑多开方法 无
相关文章
栏目更新
栏目热门