Programster's Blog

Tutorials focusing on Linux, programming, and open-source

Kerberos Cheatsheet

Log In

Directly access the KDC Database

sudo kadmin.local

Log into kadmin using a specific principal

kdadmin -p $PRINCIPAL

Add Principal

A Kerberos principal is a unique identity to which Kerberos can assign tickets. They might represent a user or a computer. Refer here for how to specify the name of $PRINCIPAL, but it might be root/admin or john/admin@PROGRAMSTER.ORG

sudo kadmin.local -q addprinc $PRINCIPAL

For a service or host, you probably want to generate a principal with a random key:

sudo kadmin.local -q "addprinc -randkey HTTP/my.domain.com@PROGRAMSTER.ORG"

List Principals

sudo kadmin.local -q list_principals

If you wanted to list all principals that start with HTTP:

sudo kadmin.local -q "list_principals HTTP*"

Change Principal's Password

Use the following command to safely change a principal's password (will prompt you to enter it twice).

sudo kadmin.local -q "change_password $PRINCIPAL"

Enable Logging

Edit your kerberos config file:

sudo editor /etc/krb5.conf

Ensure there is a logging section (you will quite likely have to add it) E.g.

[logging]
    default = FILE:/var/log/krb5.log
    kdc = FILE:/var/log/krb5kdc.log
    admin_server = FILE:/var/log/kadmind.log

Request a Ticket-Granting Ticket (TGT)

kinit -p HTTP/sso-website.programster.org@PROGRAMSTER.ORG

You won't see any output, but you should be able to use klist to show your tickets.

List Cached Tickets

To display a list of your currently cached Kerberos tickets, simply run:

klist

References

Last updated: 8th August 2020
First published: 17th June 2020

This blog is created by Stuart Page

I'm a freelance web developer and technology consultant based in Surrey, UK, with over 10 years experience in web development, DevOps, Linux Administration, and IT solutions.

Need support with your infrastructure or web services?

Get in touch