¿Cómo automatizar el proceso de Kinit para obtener TGT para Kerberos?


10

Actualmente estoy escribiendo un módulo títere para automatizar el proceso de unir servidores RHEL a un dominio AD, con soporte para Kerberos.

Actualmente, tengo problemas con la obtención automática y el almacenamiento en caché del ticket de concesión de tickets Kerberos a través de kinit. Si esto se hiciera manualmente, haría esto:

kinit aduser@REALM.COM

Esto solicita la contraseña de usuario de AD, por lo tanto, hay un problema para automatizar esto.

¿Cómo puedo automatizar esto? He encontrado algunas publicaciones que mencionan el uso kadminpara crear una base de datos con la contraseña de los usuarios de AD, pero no he tenido suerte.

Respuestas:


18

Estúpido, simplemente puedes usar el siguiente comando:

echo "password" | kinit aduser@REALM

1
echo -n "$PASS" | kinit "$USER"no salga la nueva línea final
Dejan

14
¡O imprima un póster con su contraseña y cuélguela! Almacenar su contraseña en texto plano es un no-no
Havnar

17

Si bien puede codificar la contraseña en su automatización, la forma más correcta de Kerberos de hacerlo es crear una tabla de claves para el principal y luego usarla para autenticarse. kinitadmite la autenticación desde una tabla de teclas usando las -k -t <keytab-path>opciones.

La principal ventaja de una tabla de teclas es que aísla las credenciales en un archivo separado y puede ser utilizado directamente por varios software Kerberos (por lo que no tiene que agregar código para leer una contraseña de un archivo separado). También se puede crear con comandos estándar (con un AD KDC, uso ktpass). Hay algunas ventajas más si tuviera un KDC de Linux, como aleatorizar fácilmente las claves almacenadas en la tabla de claves en lugar de utilizar una contraseña más débil.


1
Keytab definitivamente parece ser el camino a seguir. Si genera esto en kadmin, asegúrese de usar el -norandkeyindicador en ktadd si no desea invalidar la contraseña existente.
Dennis Jaheruddin

1

De acuerdo con la página del manual que podría usar:

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

Por lo tanto, puede proporcionar su contraseña a través de un archivo.


funciona en windows?
Indranil Gayen
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.