Comment automatiser le processus kinit pour obtenir TGT pour Kerberos?


10

J'écris actuellement un module marionnette pour automatiser le processus de jonction des serveurs RHEL à un domaine AD, avec la prise en charge de Kerberos.

Actuellement, j'ai des problèmes pour obtenir et mettre en cache automatiquement le ticket d'octroi de tickets Kerberos via kinit. Si cela devait être fait manuellement, je le ferais:

kinit aduser@REALM.COM

Cela vous invite à saisir le mot de passe de l'utilisateur AD, il y a donc un problème avec l'automatisation.

Comment puis-je automatiser cela? J'ai trouvé certains articles mentionnant l'utilisation kadminde la création d'une base de données contenant le mot de passe des utilisateurs AD, mais je n'ai pas eu de chance.

Réponses:


18

Stupide moi, vous pouvez simplement utiliser la commande suivante:

echo "password" | kinit aduser@REALM

1
echo -n "$PASS" | kinit "$USER"ne pas afficher de nouvelle ligne
Dejan

14
Ou imprimez une affiche avec votre mot de passe et accrochez-la! Stocker votre mot de passe en texte brut est un non-non
Havnar

17

Bien que vous puissiez simplement coder en dur le mot de passe dans votre automatisation, la manière Kerberos la plus correcte de le faire est de créer un fichier de clés pour le principal, puis de l'utiliser pour vous authentifier. kinitprend en charge l'authentification à partir d'un fichier de clés à l'aide des -k -t <keytab-path>options.

Le principal avantage d'un keytab est qu'il isole les informations d'identification dans un fichier séparé et peut être utilisé directement par divers logiciels Kerberos (vous n'avez donc pas à ajouter de code pour lire un mot de passe dans un fichier séparé). Il peut également être créé avec des commandes standard (avec un AD KDC, utilisez ktpass). Il y a d'autres avantages si vous aviez un KDC Linux, comme la randomisation facile des clés stockées dans le keytab plutôt que l'utilisation d'un mot de passe plus faible.


1
Keytab semble définitivement être la voie à suivre. Si vous générez cela dans kadmin, assurez-vous d'utiliser l' -norandkeyindicateur dans ktadd si vous ne voulez pas invalider le mot de passe existant.
Dennis Jaheruddin

1

Selon la page de manuel que vous pourriez utiliser:

kinit --password-file="~/my.secret" aduser@REALM.COM

Il vous suffit donc de fournir votre mot de passe via un fichier.


ça marche dans windows?
Indranil Gayen
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.