Wie automatisiere ich den Kinit-Prozess, um TGT für Kerberos zu erhalten?

10

Ich schreibe derzeit ein Puppet-Modul, um den Prozess des Verbindens von RHEL-Servern mit einer AD-Domäne mit Unterstützung für Kerberos zu automatisieren.

Derzeit habe ich Probleme beim automatischen Abrufen und Zwischenspeichern von Kerberos-Tickets über kinit. Wenn dies manuell erfolgen würde, würde ich Folgendes tun:

kinit [email protected]

Dies fordert zur Eingabe des AD-Benutzerkennworts auf, daher gibt es ein Problem bei der Automatisierung.

Wie kann ich das automatisieren? Ich habe einige Beiträge gefunden, in denen kadmindie Erstellung einer Datenbank mit dem darin enthaltenen AD-Benutzerkennwort erwähnt wird, aber ich hatte kein Glück.

riss-
quelle

Antworten:

18

Dumm von mir, du kannst einfach folgenden Befehl verwenden:

echo "password" | kinit aduser@REALM
riss-
quelle
1
echo -n "$PASS" | kinit "$USER"keine nachgestellte Newline ausgeben
Dejan
14
Oder drucken Sie ein Poster mit Ihrem Passwort aus und hängen Sie es auf! Das Speichern Ihres Passworts im Klartext ist ein Nein-Nein
Havnar
17

Während Sie das Kennwort nur fest in Ihre Automatisierung codieren können, besteht die korrektere Kerberos-Methode darin, eine Keytab für den Principal zu erstellen und diese dann zur Authentifizierung zu verwenden. kinitunterstützt die Authentifizierung von einem Keytab mithilfe der -k -t <keytab-path>Optionen.

Der Hauptvorteil einer Keytab besteht darin, dass sie die Anmeldeinformationen in einer separaten Datei isoliert und direkt von verschiedenen Kerberos-Programmen verwendet werden kann (Sie müssen also keinen Code hinzufügen, um ein Kennwort aus einer separaten Datei zu lesen). Es kann auch mit Standardbefehlen erstellt werden (mit einem AD KDC verwenden ktpass). Wenn Sie ein Linux-KDC haben, gibt es einige weitere Vorteile, z. B. die einfache Zufallsauswahl von Schlüsseln, die in der Keytab gespeichert sind, anstatt ein schwächeres Kennwort zu verwenden.

rra
quelle
1
Keytab scheint definitiv der richtige Weg zu sein. Wenn Sie dies in kadmin generieren, stellen Sie sicher, dass Sie das -norandkeyFlag in ktadd verwenden, wenn Sie das vorhandene Kennwort nicht ungültig machen möchten.
Dennis Jaheruddin
1

Entsprechend der Manpage könnten Sie verwenden:

kinit --password-file="~/my.secret" [email protected]

Sie können Ihr Passwort also einfach über eine Datei eingeben.

Nico Stöckigt
quelle
funktioniert es in Windows?
Indranil Gayen