zoukankan      html  css  js  c++  java
  • 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();
    		}
    
    	}
    

      

  • 相关阅读:
    构建之法读后感
    开发web信息管理系统用到的相关技术
    java 动手动脑
    Java 课后作业
    Java 7 动手动脑
    java 动手动脑
    java 字符串
    java 动手动脑
    java 课后作业
    课堂实验
  • 原文地址:https://www.cnblogs.com/linbky/p/11943879.html
Copyright © 2011-2022 走看看