JAVA远程控制Linux服务器相关服务开关等操作

MAVEN依赖

<dependency>
    <groupId>ch.ethz.ganymed</groupId>
    <artifactId>ganymed-ssh2</artifactId>
    <version>262</version>
</dependency>

代码

package test;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;   
import ch.ethz.ssh2.Connection;
import ch.ethz.ssh2.Session;
import ch.ethz.ssh2.StreamGobbler;

public class testConn {

    public static void main(String[] args) throws IOException, InterruptedException {

        InputStream stdout ;
        BufferedReader br ;
        String a;

        //通过URL获取连接
        Connection conn = new Connection("URL");
        conn.connect();

        //输入用户名和密码 返回布尔变量true表示连接成功
        boolean isAuthenticated = conn.authenticateWithPassword("username", "password");
        System.out.println(isAuthenticated);

        //获得session即打开会话框(终端)
        Session session = conn.openSession();

        //服务端编写脚本:vi +name 建立文本   写入待执行的命令   保存推出  chmod 755 +name 修改为可执行文件

        //执行脚本
        session.execCommand("自建的脚本或shell命令等");

        //获得脚本执行之后界面的输出值,用于展示等
        stdout = new StreamGobbler(session.getStdout());
        br = new BufferedReader(new InputStreamReader(stdout));
        while((a = br.readLine())!=null){
            System.out.println(a);
        }

        //session.getExitStatus() 表示脚本执行成功与否,返回0则表示成功,非0则失败
        System.out.println("ExitCode: " + session.getExitStatus());
        conn.close();
    }
}

希望能帮到你:-D

猜你喜欢

转载自blog.csdn.net/weixin_39389850/article/details/78980808
今日推荐