過去のナビゲーションリンクのスキップSecure Global Desktop 4.40 管理者ガイド > セキュリティー > SGD での SSH の使用

SGD での SSH の使用

SSH (Secure SHell) はネットワークに接続しているホストで安全にコマンドを実行できるようにするパッケージです。この用途の標準の UNIX または Linux システムコマンドの代わりに、より高いセキュリティーを提供します。

SSH を使用することには、次の利点があります。

SGD は SSH を使って、SGD サーバーとアプリケーションサーバー間のセキュア接続を提供できます。

SGD では、version 2.x 以降の SSH を使用できます。

SGD で SSH を使用するには

  1. SSH をインストールします。SSH がすでにインストールされている場合は、SSH を検出できるように SGD を設定することが必要な場合があります。
  2. X アプリケーション用に X11 の転送を有効にします。
  3. SSH を使用するように SGD アプリケーションを設定します。
  4. 必要に応じて、次の追加設定を行います。

SSH をインストールする

SSH を使用するには、SGD ホスト上およびアプリケーションサーバー上に SSH がインストールされている必要があります。

SGD は、SSH が次のいずれかのディレクトリにインストールされている場合には、そのことを自動的に検出できます。

SSH が別の場所にインストールされている場合は、SSH クライアントの場所を設定できます。

SSH がインストールされていない場合は、次の手順で SSH をダウンロードおよびインストールします。

  1. SSH を入手します。

    使用しているオペレーティングシステムに対応するパッケージをダウンロードするか、OpenSSH をダウンロードします。SGD では、version 2.x 以降の SSH を使用できます。

  2. SSH をインストールします。

    アクセスを保護するすべての UNIX または Linux システムのアプリケーションサーバーに SSH をインストールします。

    各 SGD ホスト上で、SSH を上記のディレクトリのいずれかにインストールします。

    SSH にはバージョン間の互換性の問題があるので、すべての SGD ホストとアプリケーションサーバーで、メジャー番号が同じ SSH (version 2 か version 3) を使用してください。

  3. SSH デーモンを起動します。
  4. アレイ内のすべての SGD サーバーを再起動します。

X11 の転送を有効にする

SSH を使って X アプリケーションをサポートするには、X11 転送を有効にする必要があります。各 SGD ホストで次の手順を実行します。

  1. SSH デーモンの構成ファイル (sshd_config) を編集して、次の行を追加します。
    過去のコマンド構文またはプログラムコードのスキップX11Forwarding yes

    SSH デーモンがすでに稼働している場合は、sshd_config ファイルを変更したあとで再起動する必要があります。

  2. 次のいずれかの操作を行います。
  3. SSH デーモンを再起動します。

SSH を使用するように SGD アプリケーションを設定する

SSH を使ってアプリケーションサーバーと SGD サーバー間の通信を保護するには、次の手順に従ってアプリケーションオブジェクトを設定する必要があります。

  1. SGD Administration Console で、「アプリケーション」タブをクリックして、アプリケーションを選択します。
  2. 「起動」タブをクリックします。
  3. 「接続方法」の SSH オプションを選択します。
  4. 「保存」をクリックします。

または、次のコマンドを使用します。

過去のコマンド構文またはプログラムコードのスキップ$ tarantella object edit --name obj --method ssh

SSH クライアントを設定する

SGD で SSH を使用する場合は、SSH クライアントで使用するコマンド行引数を設定できます。引数はグローバルに設定するか、個々のアプリケーションに対して設定するか、またはその両方を組み合わせて設定することができます。

SSH クライアントのグローバル設定

SSH クライアントのグローバル設定は、次の場合に使用します。

SSH クライアントのグローバルオプションを設定するには、TTASSHCLIENT 環境変数を次の手順で設定します。

  1. SGD ホストにスーパーユーザー (root) としてログオンします。
  2. SGD サーバーを停止します。
  3. 環境変数 TTASSHCLIENT に SSH プログラムのフルパスと必要なコマンド行引数を設定します。

    次に例を示します。

    過去のコマンド構文またはプログラムコードのスキップ# TTASSHCLIENT="/usr/local/bin/ssh -q -X"; export TTASSHCLIENT

    SSH クライアントのコマンド行引数だけを設定する場合にも、SSH プログラムへのフルパスを含める必要があります。これは、SSH プログラムが自動的に検出される場所にある場合でも同様です。

  4. SGD サーバーを再起動します。

SSH クライアントのアプリケーション設定

次の方法でコマンド行引数を指定することで、SSH クライアントを個別のアプリケーションに対応させることができます。

  1. SGD Administration Console で、「アプリケーション」タブをクリックして、アプリケーションを選択します。
  2. 「起動」タブをクリックします。
  3. 「接続方法」の SSH オプションが選択されていることを確認します。
  4. 「ssh 引数」フィールドで、そのアプリケーションで使用する SSH 引数を入力します。
  5. 「保存」をクリックします。

または、次のコマンドを使用します。

過去のコマンド構文またはプログラムコードのスキップ$ tarantella object edit --name obj --ssharguments args

SSH クライアントのグローバル設定とアプリケーション設定を併用する

SSH クライアントのグローバル設定とアプリケーション設定を組み合わせて、SSH クライアントのパスとコマンド行引数を設定できます。

この場合、グローバルなコマンド行引数はすべて無視されます。

次の表は、使用される ssh コマンドがグローバル設定とアプリケーション設定によってどのように影響されるかを示しています。

グローバル設定 アプリケーション設定 使用される SSH コマンド
[なし] [なし] ssh -l user@host
[なし] -X ssh -X -l user@host
/usr/ssh -X [なし] /usr/ssh -X -l user@host
/usr/ssh -X -p port /usr/ssh -p port -l user@host

SSH および X セキュリティー拡張機能

SGD は X セキュリティー拡張機能をサポートします。-Y オプションをサポートする SSH のバージョンでのみ、X セキュリティー拡張機能は動作します。OpenSSH の場合、これは 3.8 以降のバージョンです。

次の方法で、X セキュリティー拡張機能をアプリケーションごとに有効にします。

  1. SGD Administration Console で、「アプリケーション」タブをクリックして、アプリケーションを選択します。
  2. 「起動」タブをクリックします。
  3. 「接続方法」の SSH オプションが選択されていることを確認します。
  4. 「X セキュリティー拡張機能」チェックボックスを選択します。
  5. 「保存」をクリックします。

または、次のコマンドを使用します。

過去のコマンド構文またはプログラムコードのスキップ$ tarantella object edit --name obj --securityextension 1

SSH の使用と X 認証

X 認証が有効になっているときに SSH 接続に失敗する場合は、IPv4 だけを使用するモードで SSH デーモンを実行してみてください。これは、サーバーで使用している Xsecurity 拡張が SGD でサポートされていないことがあるためです。IPv4 だけを使用するモードを有効にするには、システムの SSH 構成ファイルを編集します。次に例を示します。

システムに SSH 構成ファイルがない場合は、作成することができます。

この変更を加えたら、SSH デーモンを再起動する必要があります。

高度な SSH 機能を使用する

クライアントキーなどの一部の SSH 機能では、SSH クライアントプロセスを特定の決まったユーザーとして実行する必要があります。以前のリリースの SGD では、サーバープロセスを UNIX または Linux システムの root ユーザーとして実行したので、サーバーへのアクセスに制限はありませんでした。しかし、version 4.0 以降では、SGD サーバープロセスおよび SSH クライアントプロセスを、非特権ユーザーとして実行します。これは、セキュリティー上の理由です。以前の動作を復元するには、次のようにして SGD ttasshhelper アプリケーションを setuid root プロセスにする必要があります。次の手順を実行します。

  1. SGD ホストにスーパーユーザー (root) としてログインします。
  2. 次のコマンドを実行します。
    過去のコマンド構文またはプログラムコードのスキップ# chmod 4510 /opt/tarantella/bin/bin/ttasshhelper
    # chown root /opt/tarantella/bin/bin/ttasshhelper

こうした変更を行う場合は、承認されていないアクセスから SGD サーバーを保護することに十分に配慮してください。

関連トピック