7°

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

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

全部评论: 0

    我有话说: