15.2 詳細なFreeNX設定

ここでは、より複雑なNXシナリオで主に必要となる高度な機能について説明します。

15.2.1 クライアントキーを使用してSSH認証を設定する

15.1項 「NXでの作業」で設定される認証は、ユーザ名およびパスワード証明書にのみ基づきます。より安全な認証を使用する場合は、SSHキーのペアを生成するようにNXを設定することができます。クライアントキーはサーバマシンから、NXサーバに接続できるようにするほかのクライアントにコピーされます。このキーを提供しないクライアントは、NXサーバでは認証できません。この機能はFreeNXサーバ/knxクライアントの組合せでのみサポートされています。

NXサーバでこの認証方法を使用して適切なキーペアを生成するように設定するには、以下の手順に従います。

  1. サーバマシンにrootとしてログインします。

  2. サーバの設定ファイル/etc/nxserver/node.confを開いて、ENABLE_SSH_AUTHENTICATION1(デフォルト)に設定されていることを確認してください。

  3. 次のコマンドでサーバをインストールします。

    nxsetup --install --clean --purge
  4. アクセス権を/var/lib/nxserver/home/.ssh/authorized_keys2に調整します:

    chmod 640 /var/lib/nxserver/home/.ssh/authorized_keys2
    
  5. ログアウトします。

このキーを使用するようにknxを設定するには、以下の手順に従います。

  1. サーバマシンにrootとしてログインします。

  2. knxが必要とするキーファイルをクライアントマシン上の場所にコピーして、clientをクライアントのアドレスと置き換えます。

    scp /var/lib/nxserver/home/.ssh/client.id_dsa.key client:/usr/share/knx/
    
  3. クライアントマシンにrootとしてログインします。

  4. アクセス権を次のように調整します。

    chmod 644 /usr/share/knx/client.id_dsa.key
    
  5. ログアウトします。

15.2.2 PAM認証の設定

デフォルトでは、FreeNXはユーザがサーバ内にあるユーザデータベースに存在する場合は、そのすべてのユーザにNXセッションを開くことを許可します(ローカルまたはLDAP、NISなどを経由)。この動作はENABLE_PAM_AUTHENTICATION変数によってサーバマシン上の/usr/bin/nxserverで切り替えられます。デフォルト値は1です。0に設定すると、FreeNXに対するPAM仲介ユーザ認証(PAM_AUTH)を無効にします。

ENABLE_PAM_AUTHENTICATION0に設定されている場合は、手動でユーザおよびパスワードを追加する必要があります。ローカルNXユーザをサーバに追加するには、以下の手順に従います。

  1. サーバマシンにrootとしてログインします。

  2. 追加するユーザがシステムのローカルユーザのデータベースに存在することを、/etc/passwd内の内容をチェックするかまたはYaST User Managementモジュールを使用して確認してください。

  3. 追加する各ユーザに対して、nxserver --adduserコマンドを使用してユーザ名を追加します。次に、ユーザのパスワードをnxserver --passwdを使用して追加します。

  4. nxserver --restartを実行してサーバを再起動し、ログアウトします。

15.2.3 システム全体およびユーザ固有の設定ファイルの使用

FreeNXサーバの動作は/etc/node.confを介して制御されます。グローバルNXサーバ設定を実行するか、またはユーザ固有設定のサーバを実行することができます。1台のマシン上で別の要件でNXを実行している複数ユーザがいる場合、これはplaになります。

以下の例では、ユーザjoeが、NXセッションを開くたらすぐにNXを特定のアプリケーションと同時に自動的に開始したいとします。この動作をこのユーザのみに有効にするように設定するには、以下の手順に従います。

  1. rootでログインします。

  2. /etc/nxserverディレクトリに入ります。

    cd /etc/nxserver
  3. NXサーバの設定ファイル(node.conf)のコピーを同じディレクトリのjoe.node.confにコピーします。

  4. joe.node.conf内の適切なパラメータ(NODE_AUTOSTARTおよびENABLE_AUTORECONNECT)を編集します。これらの機能の詳細については、15.2.5項 「自動起動タスクの設定とエクスポート設定」および15.2.4項 「NXセッションのサスペンドと再開」を参照してください。

  5. 新しい設定を有効にするためにNXサーバを再インストールする:

    nxsetup --install --clean --purge --setup-nomachine-key

    ユーザ固有の設定はグローバル設定を上書きします。

  6. ログアウトします。

15.2.4 NXセッションのサスペンドと再開

モバイルコンピュータ上でのセッションと同様に、ユーザセッションをサスペンドおよび再開できるようにNXを設定することができます。サスペンドされたセッションは、中止したときと全く同じ状態で再オープンします。

NXセッション用にサスペンドおよび再開を設定するには、以下の手順に従います。

  1. rootでログインします。

  2. サーバの設定ファイル/etc/nxserver/node.confを開き、次のように編集します。

    ENABLE_PASSDB_AUTHENTICATION="0"
    ENABLE_USER_DB="0"
    ENABLE_AUTORECONNECT="1"
    
  3. この設定ファイルを保存して終了し、nxserver --restartでサーバを再起動します。

  4. ログアウトします。

終了時にセッションをサスペンドするには、NXウィンドウの右上角にある[X]をクリックして[サスペンド]を選択してセッションをサスペンドしてクライアントを終了します。再接続の際には、直前のセッションを再開するかまたは新しいセッションを開始するかを尋ねられます。

15.2.5 自動起動タスクの設定とエクスポート設定

FreeNXでは、NXセッションを開始または再開したときに、基礎となるアプリケーションがstartおよびresume プロパティをサポートしている場合に特定のタスクを起動できる自動起動機能があります。 たとえば、FreeNXを起動したときに自動的にデスクトップをクリーンアップしたり、その他の自動起動タスクを実行できます。これは(標準のKDEまたはGNOMEメカニズムが使用できない)異なるNXクライアントからの場合でも、セッションに再接続したときに特に役立ちます。

自動起動機能を設定するには、以下の手順に従います。

  1. サーバマシンにrootとしてログインします。

  2. サーバの設定ファイル/etc/nxserver/node.confを開き、NODE_AUTOSTART変数を次のように編集し、myprogramをNXセッションの開始または再開時に実行するプログラムに置き換えます。

    NODE_AUTOSTART=myprogram
         
  3. 設定ファイルを保存して終了します。

  4. nxserver --restartコマンドを実行してサーバを再起動し、ログアウトします。

    指定したプログラムがセッションが開始または再開されるたびに起動します。

変数NX_USERIPおよびNX_SESSIONIDをエクスポートしてユーザの環境でアクセス可能にすることもできます。これにより、たとえば、汎用コンテンツのアイコンをデスクトップに置いたり、ユーザのシンクライアント上で実行しているSambaサーバにアクセスしたりすることができます。シンクライアントのフロッピードライブ上のフロッピーの内容をユーザが利用できるようにするには、以下の手順に従います。

  1. サーバ側のNX_USERIPおよびNX_SESSIONID変数のエクスポートを有効にする:

    1. サーバにrootとしてログインします。

    2. サーバの設定ファイル/etc/nxserver/node.confを開き、次の変数を設定します。

      EXPORT_USERIP="1"
      EXPORT_SESSIONID="1"
      
    3. サーバの設定ファイルを保存して終了し、nxserver --restartコマンドを使用してサーバを再起動します。

    4. ログアウトします。

  2. クライアント側で、セッションを開き、フロッピードライブをSMBを経由してエクスポートし、デスクトップ上にアイコンを作成します。

    1. フロッピードライブのコンテンツをファイルマネージャ(NautilusまたはKonqueror)を使用してSamba経由でエクスポートします。

    2. floppy.desktopファイルをDesktopディレクトリに作成して次の行を入力します。

      Exec=smb://$NX_USERIP/floppy

      サーバはシンクライアントのIPアドレスをエクスポートし、NXセッション内のフロッピーアイコンを使用してシンクライアントのフロッピードライブにアクセスできるようにします。

15.2.6 NXサーバチェーンを作成する

NXサーバチェーンを使用すると、ファイアウォールを通してIPマスカレードに対応することができます。着信接続をファイアウォールの内側に隠されている(マスカレード)内部サーバへ転送するために外部「「ゲートウェイ」」サーバを使用することができます。

NXサーバチェーンを設定するには、次の手順に従います。

  1. 内部サーバを15.2.1項 「クライアントキーを使用してSSH認証を設定する」に説明されているように設定し、サーバの秘密鍵(client.id_dsa.key)をゲートウェイ上の/usr/NX/share/に配布します。

  2. ゲートウェイサーバ上で、以下の手順を実行します。

    1. rootでログインします。

    2. 次の変数を/etc/nxserver/node.confに設定し、myinternalhostを内部NXサーバのIPアドレスと置き換えます。

      ENABLE_SERVER_FORWARD="1"
      SERVER_FORWARD_HOST="myinternalhost"
      SERVER_FORWARD_KEY="/usr/NX/share/client.id_dsa.key"
    3. nxserver --restartを実行して外部サーバを再起動して変更した設定を適用し、ログアウトします。

      着信接続は内部サーバに転送されます。

15.2.7 FreeNXおよびNoMachineを同じサーバ上にインストールして実行する

FreeNXおよび商用NoMachine NXサーバを同じマシン上に干渉なくインストールして実行することができます。これは、接続を同じマシンにインストールされているNoMachineに転送することによってFreeNXに実装されます。

この機能を有効にするには、以下の手順に従います。

  1. サーバマシンにrootとしてログインします。

  2. /etc/nxserver/node.confにあるFreeNX用のサーバの設定ファイルを開き、次の変数を設定します。

    ENABLE_NOMACHINE_FORWARD="1"
  3. このファイルを保存し、nxserver --restartコマンドを使用してFreeNXサーバを再起動します。

  4. ログアウトします。

NoMachineサーバに接続するには、標準ユーザ名およびパスワード証明書を使用します。FreeNXサーバに接続するには、freenx.を標準ユーザ名(たとえば、freenx.joedoe)にprependして、通常のパスワードを使用します。★