Kerberos認証用のSSHの設定

OpenSSHは、プロトコルバージョン1と2の両方でKerberos認証をサポートしています。バージョン1には、Kerberosチケットを送信する特別なプロトコルメッセージがありました。 バージョン2ではKerberosを直接利用せずに、GSSAPI(General Security Services API)を使用しています。 これは、Kerberos、SPKMなどの公開鍵認証システム、または他の認証システムなどの、認証システム固有の特性を隠すために設計されたプログラミングインタフェースで、Kerberos専用ではありません。 ただし、GSSAPIライブラリは、Kerberosだけをサポートしています。

Kerberos認証でsshdを使用するには、/etc/ssh/sshd_configに次のオプションを設定します。

# These are for protocol version 1 
#
# KerberosAuthentication yes
# KerberosTicketCleanup yes

# These are for version 2 - better to use this
GSSAPIAuthentication yes
GSSAPICleanupCredentials yes

次に、rcsshdrestartコマンドを実行して、SSHデーモンを再開始します。

プロトコルバージョン2でKerberos認証を使用するには、クライアント側でもそれを有効にする必要があります。 有効にするには、システム全体用の設定ファイル/etc/ssh/ssh_config、またはユーザレベルの設定ファイル~/.ssh/configを編集します。 どちらのファイルを利用する場合でも、ファイルにGSSAPIAuthentication yesオプションを追加してください。

これで、Kerberos認証を使って接続できるようになりました。 klistを使って有効なチケットがあるかどうかを確認し、SSHサーバに接続します。 SSHプロトコルバージョン1を使用する場合は、コマンドラインに-1を指定します。

[Tip]補足情報

/usr/share/doc/packages/openssh/README.kerberosファイルには、OpenSSHとKerberosの利用に関する詳細が記述されています。