Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

SSH の使用法

%Net.SSH パッケージは、SSH (Secure ShellOpens in a new tab) 通信のサポートを提供します。この章では、このパッケージに含まれているクラスについて簡単に説明します。

SSH セッションの作成

%Net.SSH.SessionOpens in a new tab は SSH セッションを表します。このクラスを使用するには、以下の手順を実行します。

  1. クラスのインスタンスを作成します。

  2. Connect() インスタンスのメソッドを使用して、サーバに接続します。

  3. AuthenticateWithKeyPair() または AuthenticateWithUsername() のどちらかを使用して、サーバへの認証を行います。詳細は、%Net.SSH.SessionOpens in a new tab のクラス・リファレンスを参照してください。

  4. %Net.SSH.SessionOpens in a new tab のその他のメソッドを使用して、リモート・システムとの間での単一ファイルの SCP (Secure Copy) 操作の実行、リモート・コマンドの実行、TCP トラフィックのトンネル、または SFTP 操作の実行を行います。クラス・リファレンスの %Net.SSH.SessionOpens in a new tab を参照してください。

    例えば、OpenSFTP を使用して、SFTP 操作のセッションを使用します。このメソッドは、SFTP 操作に使用できる %Net.SSH.SFTPOpens in a new tab のインスタンスを参照で返します。次のセクションに示した用例を参照してください。

Important:

これらのクラスを使用できるサポート・プラットフォームの詳細は、%Net.SSH.SessionOpens in a new tab および %Net.SSH.SFTPOpens in a new tab のクラス・リファレンスを参照してください。

例 : 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)
    //open an SFTP session and get that returned by reference
    do ssh.OpenSFTP(.sftp)
    //get a list of files
    do sftp.Dir(".",.files)
    set i=$ORDER(files(""))
    while i'="" {
        write $listget(files(i),1),!
        set i=$ORDER(files(i))
    }
    quit $$$OK
}

その他の例

その他の SSH の例については、スタジオで %Net.SSH.SessionOpens in a new tab を開いて、このクラスの TestExecute() メソッドと TestForwardPort) メソッドを参照してください。

FeedbackOpens in a new tab