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; }