試した環境は OSX 10.4.10 + 認証基盤は Windows Server 2003 の ActiveDirectory
基礎資料は Kerberos 5 (krb5 1.0) 相互運用のステップ バイ ステップ ガイド
作業内容の概要は以下の5点
前提条件としてMac のホスト名がFQDNで正しく設定されている必要がある。 ただしOSXはIP逆引き設定を参照して、自分のホスト名を自動設定するようになっているので、 具体的には以下の手順
DHCPでがんばる手もあると思うが略。ていうか失敗した。
以下の例において例につかっている文字列について:
ActiveDirectory上に 'macmini_kerberos5' というユーザを作ってから、以下のコマンドでプリンシパルをアカウントにマッピングしつつ keytab ファイルを作成する。
C:\WINDOWS> cd /D c:\temp C:\temp> ktpass -princ host/macmini.ad.example.com@AD.EXAMPLE.COM -mapuser AD\macmini_kerberos5 -pass * -out macmini.keytab C:\temp> scp macmini.keytab macmini.ad.example.com:/tmp/ (Mac OSX マシンに安全に転送できれば何でもよい。https経由でMac側からダウンロードするのが簡単か) C:\temp> del macmini.keytab (可能なら粉々に廃棄する)
Mac 上では以下のコマンドを実行
sudo ktutil # 以下 ktutil: はプロンプト。その後ろの rkt /tmp/macmini.keytab などを入力する ktutil: read_kt /tmp/macmini.keytab ktutil: write_kt /etc/krb5.keytab ktutil: quit # 確認する sudo klist -kt # /etc/krb5.conf を作成する cat > /tmp/krb5.conf << __EOF__ [libdefaults] default_realm = AD.EXAMPLE.COM __EOF__ sudo mv /tmp/krb5.conf /etc/krb5.conf sudo chown root /etc/krb5.conf sudo chgrp wheel /etc/krb5.conf sudo chmod 644 /etc/krb5.conf # vi を利用して GSSAPIAuthentication yes を追加する sudo vi /etc/sshd_config
どこか別のマシン(FreeBSD等)から kinit してから ssh -v macmini.ad.example.com でログインしてみる。
デバッグ出力の最後の方に以下のように出ていれば成功。
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password,keyboard-interactive debug1: Next authentication method: gssapi-with-mic debug1: Authentication succeeded (gssapi-with-mic).