Como se señaló en uno de los comentarios, esta respuesta es bastante obsoleta por el momento. Uso GSSAPI regularmente y de forma rutinaria para autenticar de Linux a SQL Server 2008 R2, pero principalmente con el administrador EasySoft ODBC y el controlador (comercial) EasySoft ODBC SQL Server.
A principios de 2009, un colega y me las arreglé para conectarse a una instancia de SQL Server 2005 desde Solaris 10 usando (credenciales Kerberos) GSSAPI usando DBB :: Perl más de un FreeTDS contru enlazados con una versión particular del MIT Kerberos bibliotecas . El truco fue, y esto es un poco difícil de creer, pero lo he verificado mirando el código fuente de FreeTDS, para especificar de longitud cero user_name. Si la longitud de la cadena user_name es 0, entonces el código FreeTDS intentará usar GSSAPI (si ese soporte se ha compilado). No he podido hacer esto a través de Python y pyodbc ya que no pude encontrar una manera de hacer que ODBC transfiriera un nombre de usuario de longitud cero.
Aquí en el código perl ... hay múltiples oportunidades para romper los archivos de configuración wrt como .freetds.conf, etc. Parece que recuerdo que el principal tenía que estar en mayúsculas, pero mis notas parecen estar en desacuerdo con eso .
$serverprincipal = 'MSSQLSvc/foo.bar.yourdomain.com:[email protected]';
$dbh = DBI->connect("dbi:Sybase:server=THESERVERNAME;kerberos=$serverprincipal", '', '');
Usted tiene que saber cómo utilizar la utilidad setspn el fin de obtener el servidor SQL Server para utilizar el nombre principal de seguridad apropiado.
No conozco el lado kerberos de las cosas porque nuestro entorno fue creado por un gurú de Kerberos y tiene elementos de fantasía como la confianza mutua configurada entre el dominio AD en el que se ejecuta SQL Server y el dominio Kerberos en el que mi cliente se estaba ejecutando.
Hay un código http://code.google.com/p/libsqljdbc-auth/ que hace la autenticación GSSAPI de Linux a SQL Server pero solo es Java. El autor (que parece conocer sus cosas) también ha contribuido con un parche similar al proyecto jTDS que funciona con versiones más recientes de Java que tienen GSSAPI incorporado.
Así que las piezas están todas allí, es solo una gran enredo complicado tratando de hacer que todos trabajen juntos. Encontré el pyodbc a unixODBC a FreeTDS odbc a la integración TDS bastante difícil de rastrear/depurar. El material perl porque era un envoltorio bastante delgado en la parte superior de CT-Lib era mucho más fácil de poner en marcha.
Es un cuento épico, pero ahora es demasiado engañoso para el estado actual de las cosas como la respuesta más alta y aceptada. Avíseme si edita en una cláusula de exención de responsabilidad y eliminaré mi voto negativo. – steamer25