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 kadmin
de 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.
echo -n "$PASS" | kinit "$USER"
ne pas afficher de nouvelle ligneBien 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.
kinit
prend 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.la source
-norandkey
indicateur dans ktadd si vous ne voulez pas invalider le mot de passe existant.Selon la page de manuel que vous pourriez utiliser:
Il vous suffit donc de fournir votre mot de passe via un fichier.
la source