jar包:j2ssh-core-0.2.9.jar

Maven pom.xml

<dependency>
    <groupId>sshtools</groupId>
    <artifactId>j2ssh-core</artifactId>
    <version>0.2.9</version>
</dependency>

登陆主机,查询日志:

private String search(String host,String command){
        SshClient client=new SshClient();
        String queryResult = "";
        try{
            client.connect(host,22,new IgnoreHostKeyVerification());
            //设置用户名和密码
            PasswordAuthenticationClient pwd = new PasswordAuthenticationClient();
            pwd.setUsername("***");
            pwd.setPassword("***");
            int result=client.authenticate(pwd);
            if(result==AuthenticationProtocolState.COMPLETE){//如果连接完成
                logger_.info("==============="+host);
                List<SftpFile> list = client.openSftpClient().ls("/home/backtest/jetty9_serv/jetty-distribution-9.2.10.v20150310/webapp_BackTestYield/log");
                for (SftpFile f : list) {
                    if(f.getFilename().equals("log.txt")){  
                        SessionChannelClient session = client.openSessionChannel();    
                        if (session.startShell()){  
                            ChannelOutputStream writer = session.getOutputStream();    
                            writer.write(command.getBytes());    
                            writer.flush();                         
                            writer.write("exit\n".getBytes());    
                            writer.flush();    
                            BufferedReader in = new BufferedReader(new InputStreamReader(session.getInputStream()));
                            BufferedReader err= new BufferedReader(new InputStreamReader(session.getStderrInputStream()));  
                            String line;  
                            logger_.info("------------------------");    
                            while ((line = in.readLine()) != null){    
                                queryResult = queryResult + host + " : "+line +"\r\n"; 
                            }    
                            while ((line = err.readLine()) != null){    
                                   logger_.info(line);    
                            }    
                        }  
                    }  
                }
            }
        }catch(IOException e){
            e.printStackTrace();
        }
        
        return queryResult;
    }

 

posted on 2016-02-02 17:06  JDAMOY  阅读(1944)  评论(0编辑  收藏  举报