Java如何连接Linux服务器并实现命令

连接Linux服务器并实现命令
1.首先准备一个Linux上的一个脚本,用于连接上后进行访问
mkdir /usr/local/tmp/test/shell  //在Linux上创建一个存放临时文件的位置
vim testForJava  //创建一个文本 里边写入脚本
echo "如果能看到这条消息说明你成功了" //这就是写入的脚本
2.然后到Java中创建一个maven工程

先引入依赖文件

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

这个依赖是用于连接linux的
然后编写代码去访问对应路径的脚本文件

public class TestUseSSh {
    private static String ip="你的服务器ip地址";
    private static int port = 22;
    private static String user = "你服务器的用户名";
    private static String password = "你服务器的密码";

    public static void main(String[] args) {

        try {
        	//先创建一个连接,传入IP地址和端口
            Connection conn = new Connection(ip,port);
            conn.connect();
            //然后传入用户名密码
            boolean b = conn.authenticateWithPassword(user, password);
            if(b==false){
                throw new IOException("连接失败!");
            }
            //需要连接 首先先创建一个通话
            Session session = conn.openSession();
            //然后输入需要执行的命令 这里的命令是去触发我们写的脚本的
            session.execCommand("sh /usr/local/tmp/test/shell/testForJava");
            //然后将返回的结果转化为输入流对象
            InputStream stdout = new StreamGobbler(session.getStdout());
			//然后将流对象读取出来
            BufferedReader br = new BufferedReader(new InputStreamReader(stdout));

            while (true){
                String line  = br.readLine();
                if(line == null){
                    break;
                }
                //打印到控制台
                System.out.println(line);
            }
            //关闭会话和连接
            session.close();
            conn.close();
        } catch (IOException e) {
            e.printStackTrace();
            //退出
            System.exit(2);
        }
    }
}
结果

在这里插入图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值