As indicated in one of the comments, this answer is pretty outdated. I regularly and regularly use GSSAPI to authenticate with Linux on SQL Server 2008 R2, but mostly with the EasySoft ODBC manager and the (commercial) EasySoft ODBC SQL Server driver.
In early 2009, my colleague and I were able to connect to an instance of SQL Server 2005 from Solaris 10 using GSSAPI credentials (Kerberos) using DBB :: Perl on top of the FreeTDS assembly associated with a specific version of the kerberos MIT libraries. The trick was - and it's a little hard to believe, but I checked it, looking at the FreeTDS source code - to specify a username with zero length. If the length of the user_name string is 0, then the FreeTDS code will try to use GSSAPI (if this support was compiled). I could not do this through Python and pyodbc, because I could not figure out how to get ODBC to pass a username with zero length.
Here, in the Perl code, there are several possibilities for breaking configuration files, such as .freetds.conf, etc. I seem to remember that the main one should have been uppercase, but my notes do not seem to agree with this.
$ serverprincipal = 'MSSQLSvc / foo.bar.yourdomain.com: 1433@YOURDOMAIN.COM ';
$ dbh = DBI-> connect ("dbi: Sybase: server = THESERVERNAME; kerberos = $ serverprincipal", '', '');
You will need to know how to use setspn so that SQL Server uses the appropriate security principal name.
I donβt have knowledge about the side of the keberos, because our environment was created by the Kerberos guru and has fancy things, such as mutual trust, configured between the AD domain in which SQL Server is running and the Kerberos domain in which my client was working.
There is some code http://code.google.com/p/libsqljdbc-auth/ that does GSSAPI authentication from Linux to SQL Server, but it is only Java. The author (who seems to know his stuff) also introduced a similar patch into the jTDS project, which works with newer versions of Java that have GSSAPI embedded.
So all of this is, it's just a big messy mess that is trying to get them all to work together. I found pyodbc for unixODBC for FreeTDS odbc for integration with TDS is quite difficult to track / debug. Perl material, because it was a pretty thin shell on top of CT-Lib, was a lot easier to get started.