• java连接远程服务器并执行命令


    导入必要的jar包

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

    public static void executeCommand(String command,String host,String username,String password){
    		Connection conn = null;
    		Session session = null;
    		try {
    			logger.info("执行linux命令:{},host:{}",command,host);
    			conn = new Connection(host);
                conn.connect();
                boolean flg = conn.authenticateWithPassword(username, password);
                if(flg){
                	session = conn.openSession();
    
                    session.requestPTY("bash");
                    session.startShell();
                    PrintWriter out = new PrintWriter(session.getStdin());
                    out.println(command);
                    out.flush();
                    out.println("exit");
                    out.close();
                    session.waitForCondition(ChannelCondition.CLOSED | ChannelCondition.EOF | ChannelCondition.EXIT_STATUS,
                            60000);
                }else{
                	logger.info("连接host{}失败",host);
                }
    		} catch (IOException e) {
    			logger.info("host{}执行命令:{}出现异常"+e,host,command);
    		}finally {
    			session.close(); 
    			conn.close();
    		}
    
    	}
    

      

  • 相关阅读:
    MinGW-编译器
    Enum , Enum Class ?
    C++编译器之间的不同性能
    交叉验证
    经验风险最小化-结构风险最小化
    图像卷积
    pytorch官网上两个例程
    ORB feature(O for orientation)
    Catalan数
    无责任共享 Coursera、Udacity 等课程视频(转载)
  • 原文地址:https://www.cnblogs.com/linbky/p/11943879.html
Copyright © 2020-2023  润新知