Im letzten Artikel haben wir uns angeschaut wie man Kerberos unter CentOS installiert. Darauf wollen wir nun aufbauen in dem wir den Login von ssh auf Kerberos umstellen. Dafür fügen wir den Zielserver der Kerberos Datenbank hinzu und legen anschließend auf dem Zielserver eine entsprechende Konfiguration an.
Als Zielserver nehmen wir hier apache.piazzimedia.local. Als User verwenden wir cpiazzi.
Inhaltsverzeichnis
Kerberos – User anlegen
Da wir in diesem Setup zur Zeit kein LDAP/Active Directory im Einsatz haben, muss der User auf den Systemen lokal angelegt werden. Dafür kann sowohl auf dem Kerberos-Server wie auf den Zielserver der Befehl useradd verwendet werden. Anschließend müssen wir den User der Kerberos Konfiguration hinzufügen. Dafür öffnet man als erstes die Kerberos Konsole.
1 | kadmin.local |
Anschließend wird mit addprince der User hinzugefügt.
1 | addprinc cpiazzi |
Danach kann die Kerberos Konsole geschlossen werden. Nun legen wir auf dem Kerberos Server noch das Passwort für den User fest.
1 2 | su - cpiazzi kinit |
Mit diesem Passwort sollten wir uns am Ende auf dem Zielsystem einloggen können.
Kerberos – Host der Datenbank hinzufügen
Auf dem System, wo Kerberos installiert ist, öffnen wir die Kerberos Konsole.
1 | kadmin.local |
Um den Server nun hinzuzufügen, verwendet man den addprinc Befehl. Das ganze sieht dann wie folgt aus.
1 | addprinc -randkey host/apache.piazzimedia.local |
Damit ist die Konfiguration auf dem Kerberos Server fertig.
Kerberos – Clientkonfiguration
Als erstes müssen auf dem Zielsystem ein paar Pakete für Kerberos installiert werden.
1 | yum install krb5-workstation pam_krb5 |
Nachdem die Installation der Pakete durchgeführt wurde, muss die Konfigurationsdatei /etc/krb5.conf angepasst werden. Für die Domain piazzimedia.local sieht das ganze wie folgt aus:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | includedir /etc/krb5.conf.d/ [logging] default = FILE:/var/log/krb5libs.log kdc = FILE:/var/log/krb5kdc.log admin_server = FILE:/var/log/kadmind.log [libdefaults] dns_lookup_realm = false ticket_lifetime = 24h renew_lifetime = 7d forwardable = true rdns = false default_realm = PIAZZIMEDIA.LOCAL default_ccache_name = KEYRING:persistent:%{uid} [realms] PIAZZIMEDIA.LOCAL = { kdc = kerberos.piazzimedia.local admin_server = kerberos.piazzimedia.local } [domain_realm] .piazzimedia.local = PIAZZIMEDIA.LOCAL piazzimedia.local = PIAZZIMEDIA.LOCAL |
Nachdem die Kerberos Konfiguration auf dem System hinterlegt wurde, müssen noch ein paar Anpassungen an der ssh Konfiguration durchgeführt werden. Dafür muss der Datei /etc/ssh_conf die folgenden beiden Einträge hinzugefügt werden.
1 2 | GSSAPIAuthentication yes GSSAPIDelegateCredentials yes |
Danach aktivieren wir die Kerberos Konfiguration auf dem System.
1 | authconfig --enablekrb5 --update |
Anschließen muss die Konfiguration neu in den ssh Deamon eingelesen werden.
1 | systemctl reload sshd.service |
Nun sollte man sich vom Kerberos Server auf das Zielsystem via ssh verbinden können. Dabei wird das am Anfang des Artikels festgelegte Passwort verwendet.
Schreibe einen Kommentar