SSH-Benutzer wird nicht über Kerberos authentifiziert

SSH-Benutzer wird nicht über Kerberos authentifiziert

Ich habe Kerberos auf meiner Ubuntu-Maschine eingerichtet und kann kinitvon meiner anderen Fedora Linux-Client-Maschine Tickets für Benutzer abrufen.

Ich erhalte jedoch den folgenden Fehler in den SSHD-Debugprotokollen und habe keine Ahnung, was das bedeutet:

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]

Mein SSHD und KDC laufen auf derselben Maschine mit der folgenden Konfiguration:

Hauptkomponenten von krb5.conf:

[libdefaults]
        default_realm = SAT.COM

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

Meine /etc/hosts-Datei:

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

Die Auftraggeber in meinem KDC sind wie folgt:

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]

Wenn ich das erste Kinit von meinem Fedora-Client aus durchführe, erhalte ich nur ein Ticket, wie unten dargestellt:

[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

Aber sobald ich eine SSH-Verbindung zu meinem SSHD-Server herstelle, der derselbe ist wie der KDC-Server, enthält meine Klist weitere Einträge:

[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

Auch Hauptmoderator/[email geschützt]wurde nicht früher hinzugefügt, aber dann bekam ich den folgenden Fehler in SSHD, also habe ich versucht, es hinzuzufügen, aber immer noch ohne Erfolg:

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

Jede Hilfe diesbezüglich ist sehr hilfreich.

Antwort1

Ich habe viel online gegoogelt und den folgenden Konfigurationsparameter gefunden, der das Problem irgendwie gelöst hat:

Von mir verwendete Parameter:

[libdefaults]
    ignore_acceptor_hostname = true

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

Obwohl im obigen SO-Thread eine Erklärung steht, habe ich immer noch nicht ganz verstanden, wie es funktioniert und was das Problem ist.

Es wäre bitte trotzdem großartig, wenn mir jemand erklären könnte, wie dieser Konfigurationsparameter mein Problem gelöst hat.

verwandte Informationen