了解更多开发技巧,请访问,架构师小跟班官网:https://www.jiagou1216.com package com.jiagou; 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("echo 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 = "[email protected]"; 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://www.cnblogs.com/xyhero/p/12188848.html
时间: 2024-10-01 07:03:03