Secure Shell セッションにおける接続の再利用

接続を再利用することによって、すでに確立されている Secure Shell 接続に別の Secure Shell セッションを追加できます。この簡単な例が光ファイバケーブルで、外側のパイプで接続を行い、さまざまな光ファイバストランド (セッションとトンネル) がルーティングされます。追加セッションには、新しい 端末セッション、新しい SFTP ファイル転送セッション、転送された X11 接続、SSH トンネルを介したポート転送用に構成された通信、または Secure Shell コマンドラインユーティリティの 1 つを使用して確立された接続などがあります。

確立されている Secure Shell 接続を再利用する場合、認証処理を繰り返す必要はありません。新しいセッションでは、最初の接続に構成されたすべての Secure Shell 設定を必ず使用します。認証方式、暗号または MAC 設定の違い、あるいはポート転送定義は無視されます。

接続の再利用は、ユーザインタフェースからのすべての Secure Shell 接続で既定で有効になっています。[Reflection Secure Shell の設定] ダイアログボックスの [全般] タブにある [既存の接続がある場合、それを利用する] チェックボックスをオフにして、この機能を無効にできます。

[既存の接続がある場合、それを利用する] をオンにして接続を確立すると、以下のすべての条件に合致する場合、以降の Secure Shell セッションでは確立されている接続を再利用します。

  • 新しいセッションのホスト名は、確立されている接続のホスト名と完全に一致している必要があります。

  • 新しいセッションのユーザ名は、確立されている接続のユーザ名と完全に一致している必要があります。

  • 新しいセッションのポート番号は、確立されている接続のポート番号と同じである必要があります(既定ではこの条件が真になります)。

  • 元のセッションがホスト名とは異なる SSH 構成セクションを使用するよう構成されている場合、新しいセッションでは同じセクションを使用するよう構成する必要があります。

メモ:SSH 接続にコマンドラインユーティリティを使用している場合、既存の接続を再利用するための追加条件を満たしている必要があります。追加条件の概要を以下に示します。

コマンドラインセッションにおける接続の再利用

接続の再利用は、Secure Shell 接続が要求され、クライアントと単一のサーバ間に多数の単純な操作が必要になり、認証と鍵交換の間隔が全接続時間のかなりの部分を占めるようなコマンドライン操作に適しています。これは、複数の小さなファイルの転送、または大量の出力を返さない簡単なオペレーティングシステムコマンドの実行が必要な場合などです。このような場合には、ssh (または ssh2) コマンドラインユーティリティを使用して元の SSH 接続を作成してから、以降のコマンドラインユーティリティ操作で接続を再利用するのが便利な場合があります。

既定では、接続の再利用は、Secure Shell クライアントコマンドラインユーティリティで無効になっています: sshscpsftpscp2、および sftp2。これらのコマンドラインユーティリティとの接続の再利用を有効にするには、以下のいずれかの方法を使う必要があります。

  • 各コマンドラインにスイッチ「-o ConnectionReuse=yes」を追加します。最初の接続を確立し、以降のすべてのコマンドラインユーティリティで最初の接続を再利用する場合、このスイッチを使用する必要があります。例えば、以下のコマンドを使用すると、sftp 接続が ssh コマンドで確立した接続を再利用します。

    ssh "-o connectionReuse=yes" myuser@myhost
    sftp "-o connectionReuse=yes" myuser@myhost
  • DOS コマンドウィンドウ (またはバッチスクリプトファイルの最初) で、環境変数 SSHConnectionReUse を次のとおり設定します。

    set SSHConnectionReUse=yes

矛盾する設定が存在する場合、-o スイッチが優先されます。

メモ:

  • OpenSSH サーバは、未認証の同時セッション数を制限するために使用できる MaxStartups パラメータに対応しています。この設定は、既存の接続を再利用する、確立可能な セッション数に影響します。MaxStartups パラメータに指定した最大セッション数に到達すると、以降のすべてのセッションで個別の SSH 接続と認証が必要になります。現在許可されている数より多くの未認証の同時セッションを確立する必要がある場合は、ssh サーバ管理者に問い合わせてください。

  • コマンドラインユーティリティでは、Secure Shell 構成ファイルに接続再利用を構成できません。このファイルの ConnectionReuse キーワードは、この設定を含んでいる SSH 構成セクションを指定するために -H スイッチを使用する場合でも、Secure Shell のコマンドラインユーティリティによって常に無視されます。