Mac OS X Server v10.6:認証されたバインドを使わずに Kerberos を使ってリモート SSH ログインを許可する</u></u></u></u>

2 台のコンピュータ間における、リモートログインのシングルサインオン (SSO/Kerberos) を許可する方法を説明します。

この記事は、クライアントコンピュータが匿名バインドを使用してディレクトリにバインドされている場合にのみ適用されます。認証されたバインドは、Kerberos を使ったリモート SSH ログインの許可で推奨される方法です。認証されたバインドを使ってクライアントがバインドされている場合、以下の手順 4 に進んでください。

両方のコンピュータが同じ KDC を共用できるよう、同じ Open Directory サーバを使っていることが前提条件です。ディレクトリサーバでの管理者アクセスが必要です。

注意:パフォーマンスが重要な場合、この構成を使わないでください。別の方法として、ssh-keygen を使ってリモートログイン用の鍵のペアを生成できます。
 

SSH シングルサインオンの許可方法

  1. KDC で管理者として次のターミナルコマンドを実行し、お使いのホームフォルダにあるプリンシパルのコピーを使って、mykeytab という名前のファイルを作成します。

    export hostname="remote machine host name"sudo kadmin.local -q "addprinc -randkey host/$hostname"sudo kadmin.local -q "ktadd -k mykeytab host/$hostname"
  2. mykeytab をリモートコンピュータにコピーします。
  3. リモートコンピュータで、次に示す一連のターミナルコマンドを実行します。

        sudo ktutil    ktutil:  read_kt /etc/krb5.keytab    ktutil:  read_kt mykeytab    ktutil:  list
    次のような出力が表示されます。

    Client4:~ admin$ sudo ktutilPassword: ktutil:  read_kt /etc/krb5.keytabktutil:  read_kt mykeytabktutil:  listslot KVNO Principal---- ---- ---------------------------------------------------------------------   1    3 afpserver/LKDC:SHA1.2AE821D8827D7F4B61A4543A8C9F94F955D06038@LKDC:SHA1.2AE821D8827D7F4B61A4543A8C9F94F955D06038   2    3 afpserver/LKDC:SHA1.2AE821D8827D7F4B61A4543A8C9F94F955D06038@LKDC:SHA1.2AE821D8827D7F4B61A4543A8C9F94F955D06038   3    3 afpserver/LKDC:SHA1.2AE821D8827D7F4B61A4543A8C9F94F955D06038@LKDC:SHA1.2AE821D8827D7F4B61A4543A8C9F94F955D06038   4    3 cifs/LKDC:SHA1.2AE821D8827D7F4B61A4543A8C9F94F955D06038@LKDC:SHA1.2AE821D8827D7F4B61A4543A8C9F94F955D06038   5    3 cifs/LKDC:SHA1.2AE821D8827D7F4B61A4543A8C9F94F955D06038@LKDC:SHA1.2AE821D8827D7F4B61A4543A8C9F94F955D06038   6    3 cifs/LKDC:SHA1.2AE821D8827D7F4B61A4543A8C9F94F955D06038@LKDC:SHA1.2AE821D8827D7F4B61A4543A8C9F94F955D06038   7    3 vnc/LKDC:SHA1.2AE821D8827D7F4B61A4543A8C9F94F955D06038@LKDC:SHA1.2AE821D8827D7F4B61A4543A8C9F94F955D06038   8    3 vnc/LKDC:SHA1.2AE821D8827D7F4B61A4543A8C9F94F955D06038@LKDC:SHA1.2AE821D8827D7F4B61A4543A8C9F94F955D06038   9    3 vnc/LKDC:SHA1.2AE821D8827D7F4B61A4543A8C9F94F955D06038@LKDC:SHA1.2AE821D8827D7F4B61A4543A8C9F94F955D06038  10    4 host/client4.local@ACSERVER.EXAMPLE.COM  11    4 host/client4.local@ACSERVER.EXAMPLE.COM  12    4 host/client4.local@ACSERVER.EXAMPLE.COM
  4. 次のコマンドを実行して、既存の keytab を上書きします。

    ktutil:  write_kt  /etc/krb5.util

     
  5. リモートコンピュータで、/etc/sshd_config に次の行を追加します。

        GSSAPIAuthentication yes    GSSAPIKeyExchange yes
  6. Kerberos チケットがない場合、次のコマンドを使ってローカルコンピュータのユーザ用に取得します。

        kinit user

これでこのユーザは、再認証を行わずに SSH 経由でリモートコンピュータに接続できます。

公開日: