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 aduser@REALM.COM

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.

Odpowiedzi:


18

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

echo "password" | kinit aduser@REALM

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.


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" aduser@REALM.COM

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


czy to działa w systemie Windows?
Indranil Gayen
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.