Javaは、リモートリンクJSCH Linuxのコマンド実行を使用します

輸入java.io.BufferedReader;
インポートにjava.io.IOException;
輸入java.io.InputStreamを。
輸入java.io.InputStreamReader。

輸入com.jcraft.jsch.Channel。
輸入com.jcraft.jsch.ChannelExec;
輸入com.jcraft.jsch.JSch。
輸入com.jcraft.jsch.JSchException。
輸入com.jcraft.jsch.Session。

/ **

  • Javaは、リモートリンクJSCH Linuxのコマンド実行を使用します
  • @author myz
  • * /
    publicクラスJSchUtil {
    プライベート静的JSCH JSCH。
    プライベート静的セッションsession;

    / **

    • まず、サーバーへの接続
    • @paramユーザー
    • @param passwdの
    • @paramホスト
    • JSchException @throws
      * /
      (文字列のユーザは、文字列のpasswd、文字列ホスト)JSchException {スローパブリック静的ボイドが接続
      JSCH =新しいJSCH()。
      セッション= jsch.getSession(ユーザ、ホスト、22)。
      session.setPassword(passwdファイル);
      java.util.Properties設定=新しいjava.util.Properties();
      config.put( "StrictHostKeyChecking"、 "なし");
      session.setConfig(設定)。

      session.connect();
      }

    / **

    • サーバに接続した後、対応するコマンドのLinuxを実行します
    • @paramコマンド
    • @paramユーザー
    • @param passwdの
    • @paramホスト
    • @throws JSchException
      * /
      パブリック静的ボイドexecCmd(文字列コマンドは、文字列のユーザは、文字列のpasswd、文字列ホスト)JSchException {スロー
      (ユーザは、passwd、ホスト)に接続します。
      BufferedReaderのリーダー= NULL;
      チャンネルチャンネル= NULL;
      {みてください
      (!コマンド= NULL){ながら
      チャンネル= session.openChannel( "実行");
      ((ChannelExec)チャネル).setCommand(コマンド)。
      channel.setInputStream(NULL)。
      ((ChannelExec)チャネル).setErrStream(System.errの)。
      channel.connect();
      //获取流
      = channel.getInputStreamにおける入力ストリーム();
      リーダー=新しいBufferedReaderの(新しいInputStreamReaderの(に))。
      文字列BUF = NULL;
      しばらく((BUF = reader.readLine())!= NULL){
      System.out.println(BUF); //印刷結果のログを返す
      }
      }
      }キャッチ(IOExceptionをE){
      e.printStackTrace();
      }キャッチ(JSchException E){
      e.printStackTrace();
      } //最後に、最終的に{そして、の流れ接続閉じ
      {試み
      reader.Closeを();
      }キャッチ(IOExceptionをE){
      e.printStackTrace();
      }
      channel.disconnect();
      Session.disconnect();
      }
      }

}

おすすめ

転載: blog.51cto.com/6272379/2420784