Kerberos
There are three basic steps to configuring Kerberos:
1. Install Kerberos so that you can authenticate using it. If in doubt, look for the program or package that gives you the
kinit command.
- OS X:
- Ubuntu:
$ sudo apt-get install krb5-user
- Fedora:
$ sudo dnf install krb5-workstation
2. Edit your Kerberos configuration file
krb5.conf (most likely
/etc/krb5.conf) for use with Fermilab's Kerberos system. This is most easily done by downloading a custom-configured
krb5.conf from directly from Fermi:
3. You might need to Kerberize your SSH installation so that you can connect to the SVN server at Fermi. In your SSH config file (most likely
~/.ssh/config, which you may have to create, or
/etc/ssh/ssh_config), add
host *.fnal.gov
GSSAPIAuthentication yes
GSSAPIDelegateCredentials yes
host cdcvs.fnal.gov
ForwardX11 = no
# ForwardAgent = yes # only if you're using ssh keys, and not kerberos
GSSAPIAuthentication yes
GSSAPIDelegateCredentials yes
To test your setup, first run the
kinit command. Then,:
ssh p-quarknet@cdcvs.fnal.gov echo hi
If things are working right, you should get the response
Only 'lscvs' and 'cvs' commands are allowed
This doesn't necessarily indicate everything is perfect with your SVN access - in particular, it will work even if your SSH config isn't right - but it's a good start.
When you run
kinit and enter your Kerberos password, the Fermilab Kerberos system authenticates you and issues your computer a ticket verifying this authentication. It's usually good for 24 hours, but you can check using the
klist command. As long as you have a valid ticket, you'll be able to communicate freely with the SVN repository via the
svn+ssh:// protocol.
Once you think everything is in place (including your ticket!), try running
$ svn co svn+ssh://p-quarknet@cdcvs.fnal.gov/cvs/projects/quarknet/branches/4.0-ND-dev
This should checkout (
co) the 4.0-ND-dev branch to your current working directory.
If it doesn't, these links have information that might help:
If you're a Fermilab User, you can also contact the Service Desk for assistance in setting up Kerberos.
Ubuntu 16
/etc/krb5.conf doesn't exist by default, nor anything
/etc/krb*.
package
krb5-user is what provides the
kinit and
klist commands.
$ sudo apt-get install krb5-user
Fedora 23
Several Kerberos packages came preinstalled, including
pam_krb5.x86_64
sssd-krb5.x86_64
sssd-krb5-common.x86_64
along with some libraries and the
/etc/krb5.conf configuration file. To use Kerberos as a client, though, you'll need the
krb5-workstation package:
$ sudo dnf install krb5-workstation
This is what gives you the
kinit and
klist commands you'll need.
After putting Fermilab's
krb5.conf file in place (see the link above), you'll also need to amend (or create) your own SSH config file at
~/.ssh/config
-- Main.JoelG - 2016-10-07