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 [email protected]

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.

déchiré
la source

Réponses:

18

Stupide moi, vous pouvez simplement utiliser la commande suivante:

echo "password" | kinit aduser@REALM
déchiré
la source
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.

rra
la source
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" [email protected]

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

Nico Stöckigt
la source
ça marche dans windows?
Indranil Gayen