// 创建JSch对象 JSch jsch = new JSch(); // 用户名 String userName = "linux的用户名"; // 密码 String password = "linux的密码"; // 服务器地址 String host = "linux的ip地址"; // 端口号 int port = 22; // 要运行的命令 String cmd = "rm -rf -*"; // 根据用户名,主机ip,端口获取一个Session对象 Session session = jsch.getSession(userName, host, port); // 设置密码 session.setPassword(password); Properties config = new Properties(); config.put("StrictHostKeyChecking", "no"); // 为Session对象设置properties session.setConfig(config); int timeout = 60000000; // 设置timeout时间 session.setTimeout(timeout); // 通过Session建立链接 long start = System.currentTimeMillis(); session.connect(); ChannelExec channelExec = (ChannelExec) session.openChannel("exec"); channelExec.connect(); channelExec.setCommand(cmd); channelExec.setErrStream(System.err); channelExec.setInputStream(System.in); channelExec.setExtOutputStream(System.out); InputStream in = channelExec.getInputStream(); BufferedReader reader = new BufferedReader(new InputStreamReader(in, Charset.forName("UTF-8"))); String buf; StringBuffer sb = new StringBuffer(); while ((buf = reader.readLine()) != null) { sb.append(buf); // 打印控制台输出 System.out.println(buf); } long end = System.currentTimeMillis(); System.out.println("共耗时:" + (end - start) / 1000 + "秒"); reader.close(); channelExec.disconnect(); session.disconnect();
java中在linux上执行脚本命令,可跨服务器SSH
最新推荐文章于 2024-07-20 03:18:46 发布