SSH ユーザーが Kerberos 経由で認証されない

SSH ユーザーが Kerberos 経由で認証されない

kinitUbuntu マシンに Kerberos をセットアップし、他の Fedora Linux クライアント マシンからユーザーのチケットを取得できるようになりました。

しかし、sshd デバッグ ログに以下のエラーが表示され、それが何を意味するのかわかりません。

debug1: userauth-request for user user1 service ssh-connection method gssapi-with-mic [preauth]
debug1: attempt 1 failures 0 [preauth]
Postponed gssapi-with-mic for user1 from 10.87.198.85 port 55360 ssh2 [preauth]
debug1: Unspecified GSS failure.  Minor code may provide more information
Request ticket server host/[email protected] found in keytab but does not match server principal host/sat.com@

debug1: Got no client credentials
debug1: userauth-request for user user1 service ssh-connection method gssapi-with-mic [preauth]
debug1: attempt 2 failures 1 [preauth]

私の sshd と KDC は以下の構成で同じマシンで実行されています:

krb5.conf の主なコンポーネント:

[libdefaults]
        default_realm = SAT.COM

[realms]
        SAT.COM = {
                kdc = kdc.sat.com
                admin_server = kdc.sat.com
        }

私の /etc/hosts ファイル:

127.0.0.1       localhost
10.125.222.30   kdc.sat.com


# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

私のKDCのプリンシパルは次のとおりです。

kadmin:  listprincs 
K/[email protected]
host/[email protected]
host/[email protected]
kadmin/[email protected]
kadmin/[email protected]
kadmin/[email protected]
kiprop/[email protected]
krbtgt/[email protected]
satyam/[email protected]
[email protected]

Fedora クライアントから初期 kinit を実行すると、以下のようにチケットが 1 つだけ表示されます。

[user1@satyam ~]$ kinit 
Password for [email protected]: 
[user1@satyam ~]$ klist 
Ticket cache: KCM:1001
Default principal: [email protected]

Valid starting       Expires              Service principal
09/24/2019 19:32:46  09/25/2019 05:32:46  krbtgt/[email protected]
    renew until 10/01/2019 19:32:41

しかし、KDC サーバーと同じ sshd サーバーに ssh を実行するとすぐに、klist にエントリが追加されます。

[user1@satyam ~]$ ssh kdc.sat.com
Ubuntu 16.04.1 LTS Satyam
[email protected]'s password: 

    [satyam@satyam ~]$ klist 
Ticket cache: KCM:1000
Default principal: [email protected]

Valid starting       Expires              Service principal
09/24/2019 19:44:59  09/25/2019 05:41:14  host/kdc.sat.com@
    renew until 10/01/2019 19:41:10
09/24/2019 19:41:14  09/25/2019 05:41:14  krbtgt/[email protected]
    renew until 10/01/2019 19:41:10
09/24/2019 19:44:59  09/25/2019 05:41:14  host/[email protected]
    renew until 10/01/2019 19:41:10

主催者兼[メールアドレス]以前は追加されていませんでしたが、sshd で以下のエラーが発生したため、追加しようとしましたが、それでもうまくいきませんでした。

No key table entry found matching host/sat.com@

これに関するあらゆる助言は非常に役立ちます。

答え1

私はオンラインでグーグル検索をたくさん行い、以下の構成パラメータを見つけましたが、これで何とか問題が解決しました。

使用したパラメータ:

[libdefaults]
    ignore_acceptor_hostname = true

https://stackoverflow.com/questions/14687245/apache-sends-wrong-server-principal-name-to-kerberos

上記の SO スレッドには説明がありますが、それでも、それがどのように機能し、何が問題なのかがよくわかりませんでした。

この構成パラメータが私の問題をどのように解決したかを説明できる方がいらっしゃいましたら、ぜひ教えてください。

関連情報