java使用jsch远程链接linux执行命令

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;

在浔阳等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站建设、网站设计 网站设计制作定制设计,公司网站建设,企业网站建设,成都品牌网站建设,成都营销网站建设,外贸网站制作,浔阳网站建设费用合理。

import com.jcraft.jsch.Channel;
import com.jcraft.jsch.ChannelExec;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.JSchException;
import com.jcraft.jsch.Session;

/**

  • java 使用jsch远程链接linux 执行命令
  • @author myz
  • */
    public class JSchUtil {
    private static JSch jsch;
    private static Session session;

    /**

    • 首先连接服务器
    • @param user
    • @param passwd
    • @param host
    • @throws JSchException
      */
      public static void connect(String user, String passwd, String host) throws JSchException {
      jsch = new JSch();
      session = jsch.getSession(user, host, 22);
      session.setPassword(passwd);
      java.util.Properties config = new java.util.Properties();
      config.put("StrictHostKeyChecking", "no");
      session.setConfig(config);

      session.connect();
      }

    /**

    • 连接服务器后执行相应的linux命令
    • @param command
    • @param user
    • @param passwd
    • @param host
    • @throws JSchException
      */
      public static void execCmd(String command, String user, String passwd, String host) throws JSchException {
      connect(user, passwd, host);
      BufferedReader reader = null;
      Channel channel = null;
      try {
      while (command != null) {
      channel = session.openChannel("exec");
      ((ChannelExec) channel).setCommand(command);
      channel.setInputStream(null);
      ((ChannelExec) channel).setErrStream(System.err);
      channel.connect();
      //获取流
      InputStream in = channel.getInputStream();
      reader = new BufferedReader(new InputStreamReader(in));
      String buf = null;
      while ((buf = reader.readLine()) != null) {
      System.out.println(buf);//打印返回的结果日志
      }
      }
      } catch (IOException e) {
      e.printStackTrace();
      } catch (JSchException e) {
      e.printStackTrace();
      } finally {//最后流和连接的关闭
      try {
      reader.close();
      } catch (IOException e) {
      e.printStackTrace();
      }
      channel.disconnect();
      session.disconnect();
      }
      }

}


当前题目:java使用jsch远程链接linux执行命令
本文路径:http://scyanting.com/article/gjihdo.html