Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Panel

Troubleshooting local GSSAPI connections can be a tricky task. There are three potential ways to do it. This page presents each of them, in order of increasing difficultyis fairly straight-forward. This page will cover both major Linux distribution sets.

Contents

Table of Contents

...

Numberedheadings

System Preparation

Installing the Kerberos GSSAPI client and server utility

You now need to add the following items into the Windows Registry:

true

Debugging

Option 1 - Log to lsass.log

  1. After doing the preparation steps above, reboot the machine. SSP debug logging should now appear in C:\WIndows\System32\lsass.log. The lines relevant to the Moonshot SSP begin with "EAP-SSP".

This option is probably the easiest way to view the debug logging from the Moonshot SSP.

Option 2 - Gather trace information

If you just wish to see the Moonshot SSP logging in its own file, this option may be the best.

Once you have performed the above preparation work, start a Command Prompt session as an Administrator:

  • Click Start, All Programs, Accessories.

  • Right-click the Command Prompt entry, select Run as administrator.

    User Access Control

    You may be prompted to confirm whether you want to allow the program to make changes to the computer. Choose Yes.

  • Run the following command from the command prompt to start gathering trace information:

    powershell

    Once you've performed the actions you wish to debug, stop this by issuing the following command:

    powershell

    Now run the following common to create the trace log for you to look at.

    powershell

    If you just wish to see the Moonshot SSP logging in its own file - so that you don't have to sift through other non-relevant logs, this option may be the best.

    Option 3 - Using DebugView

    1. Once you've done the preparation work above, download DebugView from Microsoft (get it at Microsoft's site).
    2. Run DebugView as Administrator and capture global Win32 events.
    This final option is the trickiest and requires extra tools to be installed. It is, however, required to debug particularly thorny SSP issues.

    RedHat, CentOS or Scientific Linux

    On RedHat, CentOS or Scientific Linux, install the Kerberos GSSAPI utilities by running the following command (as root):

    bash

    Debian or Ubuntu

    On Debian or Ubuntu, install the Kerberos GSSAPI utilities by running the following command (as root):

    bash

    Troubleshooting

    To troubleshoot a GSSAPI connection, you require two separate terminal sessions and a RadSec connection to your local Moonshot RP Proxy.

    RadSec connection

    On a Moonshot client

    Moonshot clients do not need to define a RadSec connection (because the service you connect to defines this connection), if you however are trying to troubleshoot the local GSS system, you will need to define this connection to temporarily turn your Moonshot client into a server.

    To do this, you need three files from your Moonshot RP Proxy's FreeRADIUS directory: ca.pem, client.pem and client.key.

    Store the files in a directory that an ordinary user can read, and check that the files are also readable by an ordinary user. You may wish to rename them to be clearly identifiable.

    Also create a /etc/radsec.conf file by following the instructions to .

    Make sure that the file is also readable by an ordinary user.

    After your tests are complete and you are confident that the local GSS system is ok, you can simply delete the four files as they won't be necessary.

    On a Moonshot server

    As part of , you will have defined the RadSec connection configuration.

    Check the permissions of the four files needed for a RadSec connections:

    Also check the validity of the certificates used for the connection:

    Terminal 1 - As root

    1. In the first terminal, as root, run the following command:


    2. You should now have the following output with no prompt:


    Terminal 2 - As your test user

    In an X environment

    When you launch a terminal from X, e.g. a Gnome or KDE desktop session, the behaviour is different to a pure text environment. This is also the case when you use SSH to connect to a remote server and use display forwarding.

    1. In a second terminal, as your test user, run the following command:

      powershell


    2. You should now be prompted to select an identity in . Choose one that will authenticate locally.

    In a non-X environment

    In a pure command-line environment with no display forwarding available, the Moonshot Identity Selector is not available. Instead, you use the .gss_eap_id file to test your environment.

    1. In the second terminal, as your test user, create the .gss_eap_id file in your home directory with the following content:


    2. Then run the following command:

      powershell


    GSS Output

    After selecting your identity, you should now see output in both terminals.

    Successful output

    1. In Terminal 1 (as root), the output should scroll rapidly with a lot of hex text before ending with something similar to the following:


    2. In Terminal 2 (as your test user), the output looks similar to the below (in this example, the hostname is debian7x64.localdomain):


    Failed output

    If the GSSAPI connection failed, you may see one or more errors in either window.

    1. In Terminal 1, you should see one or more messages similar to the below:


    2. In Terminal 2, you should see one or more error messages similar to the below:


    Possible solutions

    If your GSS connection failed, you will need to diagnose why the error occurred.

    The .gss_eap_id file

    A common mistake involves the naming of the .gss_eap_id file on non-X Moonshot clients.

    A simple list command as your test user will allow you to check for it:

    bash

    If you get a "No such file or directory" error message, double-check that the file exists in the home directory of the user you are running the gss-client command as.

    GSS directory permissions

    Standard users need to have access to the /etc/gss directory and its contents. Check that the permissions allow your test user to list and read the contents:

    bashOn RHEL/CentOS/Scientific Linux


    bashOn Debian/Ubuntu

    Hostname

    GSS relies on hostnames being correct. Running the hostname and then the hostname -f commands should return the same result:

    bash

    If the results are different, you must configure your machine correctly to return the same result.

    Either define the name correctly in DNS, or configure the /etc/resolv.conf and /etc/hostname or /etc/sysconfig/network files correctly, or install dnsmasq or a similar utility that will use the /etc/hosts file to correctly resolve your hostname.

    Connection

    Check that there is no firewall preventing the connection. Often a basic firewall like iptables is installed on the local machine. Check whether you can connect to the Moonshot RP Proxy by trying to connect to port 2083 on the Moonshot RP Proxy over TCP. A "Connection refused" message or a connection timeout is usually a tell-tale sign that something is preventing your connection between your local machine and your Moonshot RP Proxy.


    Still under construction