JAVA開発メモ
SSH通信 の変更点
 

[リロード]   [新規|編集|差分|添付]   [トップ|一覧|単語検索|最終更新|バックアップ|ヘルプ]

サイトメニュー
最新の20件
2018-08-012018-02-222016-12-222015-06-242013-07-032013-02-262011-01-122010-06-082010-03-092010-03-032009-12-302009-10-302009-02-252009-02-242009-02-112008-09-242008-09-232008-09-16


  • 追加された行はこの色です。
  • 削除された行はこの色です。
  • SSH通信 へ行く。

  *[[Ganymed SSH-2 for Java:http://www.ganymed.ethz.ch/ssh2/]]
  [[Ganymed SSH-2 for Java:http://www.ganymed.ethz.ch/ssh2/]]は、JAVAのみでSSH2通信のクライアントを実現できるライブラリです。
  
  #amazonkey2(linux)
  
  **変更履歴
  2006-10-06: build 210 (including jar, examples, source and javadoc):
  2011-01-12: correct spell miss (AuthenticationException, ExitStatusException):
  
  **簡単なサンプル
   import java.io.IOException;
   import org.apache.commons.io.IOUtils;
   import ch.ethz.ssh2.Connection;
   import ch.ethz.ssh2.Session;
   import ch.ethz.ssh2.StreamGobbler;
  
   public class SshConnection {
  
       /** SSHサーバのホスト名 */
       private final static String HOSTNAME = "hostname";
  
       /** SSHサーバのユーザ名 */
       private final static String USERNAME = "userid";
  
       /** SSHサーバのパスワード */
       private final static String PASSWORD = "pass";
  
       /** SSHサーバのエンコード文字セット */
       private final static String ENCODE = "UTF-8";
  
       public SshConnection() {
       }
  
       /**
        * SSHにてシェルコマンドを実行します。
        *
        * @param command シェルコマンド
        * @throws AuthenticationExcepiton 認証エラー
        * @throws ExitStatusExcepiton コマンド実行エラー
        * @return 標準出力
        * @throws AuthenticationException 認証エラー
       public String execCommand(String command) throws AuthenticationExcepiton,
               ExitStatusExcepiton,
        * @throws ExitStatusException コマンド実行エラー
        * @throws IOException 通信エラー
        */
       public String execCommand(String command) throws AuthenticationException,
               ExitStatusException,
               IOException {
           String out = "";
  
           Connection connection = null;
           Session session = null;
           try {
               // 接続処理
               connection = new Connection(HOSTNAME);
                   throw new AuthenticationExcepiton();
               connection.connect();
  
               // 認証
               boolean isAuthenticated = connection.authenticateWithPassword(USERNAME, PASSWORD);
               if (!isAuthenticated) {
                   throw new AuthenticationException();
               }
                   throw new ExitStatusExcepiton("ExitCode: " + session.getExitStatus());
  
               // コマンド実行
               session = connection.openSession();
               session.execCommand(command);
               out = IOUtils.toString(new StreamGobbler(session.getStdout()), ENCODE);
               if (session.getExitStatus() != 0) {
                   throw new ExitStatusException("ExitCode: " + session.getExitStatus());
               }
               System.out.println("ExitCode: " + session.getExitStatus() + "\n" + out);
           } finally {
               if (session != null) {
                   session.close();
               }
               if (connection != null) {
                   connection.close();
               }
           }
           return out;
       }
   }
   public class AuthenticationExcepiton extends IOException {
       public AuthenticationExcepiton() {
  
   import java.io.IOException;
  
   /**
    * SSH認証例外クラスです。
    *
   public class ExitStatusExcepiton extends IOException {
       public ExitStatusExcepiton() {
    */
   public class AuthenticationException extends IOException {
       public AuthenticationException() {
           super("Authentication failed.");
       }
   }
  
   import java.io.IOException;
       public ExitStatusExcepiton(String msg) {
  
   public class ExitStatusException extends IOException {
       public ExitStatusException() {
           super();
       }
  
       /**
        * コンストラクタ
        *
        * @param msg エラーメッセージ
        */
       public ExitStatusException(String msg) {
           super(msg);
       }
   }

リロード   新規 編集 差分   トップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS
Last-modified: Wed, 12 Jan 2011 09:55:07 JST (3503d)

Modified by MT22(Moriwaki Takashi)

"PukiWiki" 1.3.7 Copyright © 2001,2002,2003 PukiWiki Developers Team. License is GNU/GPL.
Based on "PukiWiki" 1.3 by sng
Powered by PHP 5.3.29

HTML convert time to 0.025 sec.