Ich habe einen KDC-Server eingerichtet und ein Realm erstellt EXAMPLE.COM
. Hier ist meine krb5.conf Datei:
[libdefaults]
renew_lifetime = 7d
forwardable = true
default_realm = EXAMPLE.COM
ticket_lifetime = 24h
dns_lookup_realm = false
dns_lookup_kdc = false
default_ccache_name = /tmp/krb5cc_%{uid}
#default_tgs_enctypes = aes des3-cbc-sha1 rc4 des-cbc-md5
#default_tkt_enctypes = aes des3-cbc-sha1 rc4 des-cbc-md5
[logging]
default = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
kdc = FILE:/var/log/krb5kdc.log
[realms]
EXAMPLE.COM = {
admin_server = my.linux-server.de
kdc = my.linux-server.de
}
Ich habe auch einen Benutzer testuser
mit Passwort hinzugefügt abc
über kadmin.local
:
kadmin.local: addprinc [email protected]
Ich kann mich erfolgreich auf meiner Ubuntu-VM anmelden:
[root@ubuntu-vm ~]# kinit testuser
Password for [email protected]:
Dann klist
zeigt:
[root@ubuntu-vm ~]# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: [email protected]
Valid starting Expires Service principal
01.12.2016 14:58:40 02.12.2016 14:58:40 krbtgt/[email protected]
und ich kann meine Kererized Hadoop-Benutzeroberfläche öffnen.
================================================== ======================
Problem macht meinen Windows-Client. Ich habe es eingerichtet, indem ich die krb5.conf
Datei vom KDC-Computer auf den Windows-Client kopiert und in umbenannt habe kdc5.ini
.
Ich habe auch die Domäne des Computers festgelegt:
C:> Ksetup /setdomain EXAMPLE.COM
Nach einem Neustart habe ich versucht, eine Verbindung zu meinem KDC Realm über herzustellen
C:> kinit [email protected]
Password for [email protected]:
<empty row>
Bisher sah alles gut aus, aber wenn ich anrufe, klist
erhalte ich nur das folgende Ergebnis:
Aktuelle Anmelde-ID ist 0:0x7eca34
Zwischengespeicherte Tickets: (0)
Auf Englisch so etwas wie ... cached tickets: (0)
Ich kann meine Website auch nicht auf dem Windows-Client öffnen, daher gibt es vermutlich ein Interoperabilitätsproblem, da ich keine Probleme mit der Verbindung über meinen Ubuntu-Client hatte.
Mein Browser (Firefox) sollte auf beiden Computern (Ubuntu & Windows) korrekt konfiguriert sein. Ich habe die network.negotiate-auth.trusted-uris
Eigenschaft auf festgelegt http://my.linux-server.de
(seitdem kann der Ubuntu-Client die Site öffnen). Curl funktioniert auch für Ubuntu, aber nicht für Windows.
UPDATE: Auch ein zweiter Windows-Client ohne Erfolg ausprobiert ...
Antworten:
Endlich habe ich es geschafft! Ich habe die folgenden Schritte auf einem Windows 7 (64-Bit) Computer ausgeführt, sollte auch unter Windows 10 funktionieren:
MIT Kerberos for Windows 4.1
und installierte sie mit den Standardeinstellungen.C:\ProgramData\MIT\Kerberos\krb5.ini
und fügen Sie folgende Einstellungen ein:Neuer Inhalt der Datei:
about:config
die Adressleiste des Firefox-Browsers ein und stellen Sie die folgenden Parameter ein:Parameter = Wertepaare:
Verwenden Sie die
MIT Kerberos Ticket Manager
, um ein neues Ticket für Ihren Benutzer zu erhalten:Sie sollten Ihr Ticket im Manager sehen:
8. Jetzt sollten Sie in der Lage sein, die Webseite zu öffnen, die authentifiziert werden muss:
quelle
krb5.ini
Datei, egal wo man sie ablegt (zumindest scheint es auf meinem Computer so zu sein)?