发新话题
打印

Java应用程序远程登录linux并执行其命令

Java应用程序远程登录linux并执行其命令

ganymed.ethz.ch/ssh2/在这个网址下载一个调用ssh和scp命令的jar包。
  然后,就可以写程序了。将上面的jar包导入MyEclipse,上面是一个类的实例代码。




  packagehh;   importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStream;importjava.io.InputStreamReader;   importch.ethz.ssh2.Connection;importch.ethz.ssh2.Session;importch.ethz.1ssh2.StreamGobbler;   publicclassBasic   {   publicstaticvoidmain(String[]args)   {   Stringhostname="222.177.211.9";   Stringusername="boss";   Stringpassword="qwer@1234";   try   {   /*Createaconnectioninstance*/   Connectionconn=newConnection(hostname);   /*Nowconnect*/   conn.connect();   /*Authenticate*/   booleanisAuthenticated=conn.authenticateWithPassword(username,password);   if(isAuthenticated==false)   thrownewIOException("Authenticationfailed.");   /*Createasession*/   Sessionsess=conn.openSession();   //sess.execCommand("uname-adateuptimewho");   sess.execCommand("psaux");   System.out.println("Hereissomeinformationabouttheremotehost:");   InputStreamstdout=newStreamGobbler(sess.getStdout());   BufferedReaderbr=newBufferedReader(newInputStreamReader(stdout));   while(true)   {   Stringline=br.readLine();   if(line==null)   break;   System.out.println(line);   }   /*Showexitstatus,ifavailable(otherwise"null")*/   System.out.println("ExitCode:"+sess.getExitStatus());   /*Closethissession*/   sess.close();   /*Closetheconnection*/   conn.close();   }   catch(IOExceptione)   {   e.printStackTrace(System.err);System.exit(2);   }   }   }
  在控制台我们将看到输入后果。
  很简单,不过,了解其中的原理,要费一番的周折了,以后再给大家讲一些原理方面的东西。
jiyizhen-buy.com颈椎保健枕太空记忆枕 igerl.com歌瑞尔内衣

TOP

发新话题