Jak zautomatyzować proces Kinit, aby uzyskać TGT dla Kerberos?

10

Obecnie piszę moduł lalek, aby zautomatyzować proces dołączania serwerów RHEL do domeny AD, z obsługą Kerberos.

Obecnie mam problemy z automatycznym uzyskiwaniem i buforowaniem biletu przydziału biletów Kerberos za pośrednictwem kinit. Gdyby to zrobić ręcznie, zrobiłbym to:

kinit [email protected]

Powoduje to podanie hasła użytkownika AD, dlatego istnieje problem z automatyzacją tego.

Jak mogę to zautomatyzować? Znalazłem kilka postów o używaniu kadmindo tworzenia bazy danych z hasłem użytkowników AD, ale nie miałem szczęścia.

rozerwać
źródło

Odpowiedzi:

18

Głupie mnie, możesz po prostu użyć następującego polecenia:

echo "password" | kinit aduser@REALM
rozerwać
źródło
1
echo -n "$PASS" | kinit "$USER"nie wypisuj końcowego nowego wiersza
Dejan
14
Lub wydrukuj plakat z hasłem i rozwieś go! Przechowywanie hasła w postaci zwykłego tekstu jest nie-nie
Havnar,
17

Chociaż możesz po prostu zakodować hasło na stałe w automatyzacji, bardziej poprawnym sposobem Kerberos jest utworzenie pliku kluczy dla zleceniodawcy, a następnie użycie go do uwierzytelnienia. kinitobsługuje uwierzytelnianie z keytab przy użyciu -k -t <keytab-path>opcji.

Podstawową zaletą keytab jest to, że izoluje on poświadczenia w osobnym pliku i może być używany bezpośrednio przez różne oprogramowanie Kerberos (więc nie musisz dodawać kodu, aby odczytać hasło z oddzielnego pliku). Można go również utworzyć za pomocą standardowych poleceń (z AD KDC, użyj ktpass). Istnieje kilka innych zalet, jeśli masz Linux KDC, takich jak łatwe losowe klucze przechowywane w keytabie zamiast używania słabszego hasła.

rra
źródło
1
Zdecydowanie wydaje się, że Keytab jest właściwą drogą. Jeśli generujesz to w kadmin, pamiętaj, aby użyć -norandkeyflagi w ktadd, jeśli nie chcesz unieważniać istniejącego hasła.
Dennis Jaheruddin
1

Według strony podręcznika, której możesz użyć:

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

Więc możesz podać swoje hasło za pomocą pliku.

Nico Stöckigt
źródło
czy to działa w systemie Windows?
Indranil Gayen