Caché インターネット・ユーティリティの使用法
SSH の使用法
[Home] [Back] [Next]
InterSystems: The power behind what matters   
Class Reference   
Search:    

%Net.SSH パッケージは、SSH (Secure Shell) 通信のサポートを提供します。この章では、このパッケージに含まれているクラスについて簡単に説明します。
SSH セッションの作成
%Net.SSH.Session は SSH セッションを表します。このクラスを使用するには、以下の手順を実行します。
  1. クラスのインスタンスを作成します。
  2. Connect() インスタンスのメソッドを使用して、サーバに接続します。
  3. AuthenticateWithKeyPair() または AuthenticateWithUsername() のどちらかを使用して、サーバへの認証を行います。詳細は、%Net.SSH.Session のクラス・リファレンスを参照してください。
  4. %Net.SSH.Session のその他のメソッドを使用して、リモート・システムとの間での単一ファイルの SCP (Secure Copy) 操作の実行、リモート・コマンドの実行、TCP トラフィックのトンネル、または SFTP 操作の実行を行います。クラス・リファレンスの %Net.SSH.Session を参照してください。
    例えば、OpenSFTP を使用して、SFTP 操作のセッションを使用します。このメソッドは、SFTP 操作に使用できる %Net.SSH.SFTP のインスタンスを参照で返します。次のセクションに示した用例を参照してください。
Important:
これらのクラスを使用できるサポート・プラットフォームの詳細は、%Net.SSH.Session および %Net.SSH.SFTP のクラス・リファレンスを参照してください。
例 : SFTP 経由のファイルの転送
次のメソッドは、SFTP を経由してサーバ上のファイルのリストを取得する方法を示しています。
Method SFTPDir(ftpserver, username, password) As %Status
{
    set ssh = ##class(%Net.SSH.Session).%New()
    do ssh.Connect(ftpserver)
    do ssh.AuthenticateWithUsername(username,password)
    do ssh.OpenSFTP(.sftp)
    do sftp.Dir(".",.files)
    set i=0
    while $data(files(i)) {
        write $listget(files(i),1),!
        set i=i+1
    }
    quit $$$OK
}
その他の例
その他の SSH の例については、スタジオで %Net.SSH.Session を開いて、このクラスの TestExecute() メソッドと TestForwardPort) メソッドを参照してください。