Meu computador local usa o Windows 7 Pro e pertence ao domínio LR, gerenciado por servidores AD. Eu entro no meu computador enquanto estiver conectado à rede desse domínio. Eu posso ver o TGT com o MIT Kerberos para Windows ver. 4.0.1
Quero acessar recursos em um domínio estrangeiro, FR. Não há confiança do Kerberos entre LR e FR, mas eles permitem o tráfego TCP entre si. Solicito um TGT para FR com seu KDC (Red Hat IdM / FreeIPA) e insiro minha senha com êxito quando desafiado. Mais uma vez, posso ver o TGT com o MIT Kerberos para Windows ver. 4.0.1 Agora posso acessar recursos no FR sobre SSH sem ser solicitada uma senha, apesar de ser originária da LR.
O problema é que quando eu recebo o TGT para FR, o TGT para meu principal LR desaparece. Somente o FR TGT é visível no MIT Kerberos. Se eu bloquear o computador e desbloquear com a minha senha, agora o FR TGT se foi, substituído por um novo LR TGT.
Parece que o MIT Kerberos para Windows pode armazenar apenas um TGT por vez. Cada TGT trabalha completamente para seu domínio para todos os efeitos. Como posso configurar o MIT Kerberos para me permitir ter dois TGTs ao mesmo tempo, um para cada região? É possível "compartimentar" com várias instâncias do cliente, cada uma apontando para um KRB5_CONFIG e um keytab local diferentes? Se não puder, existe uma implementação alternativa do Windows do Kerberos 5 do lado do cliente, mesmo quando não houver relações de confiança entre regiões?
PS - Não quero confiança. Não é possível obter uma confiança.
ATUALIZAÇÃO: deixei de fora alguns desses detalhes anteriormente porque achei que isso poderia confundir o problema. Mas, com base na resposta de Brad, isso pode ser justificado. Espero que a maioria dos softwares locais usem a implementação interna do Kerberos no Windows e sempre usem o keytab LR.
No entanto, usuários avançados como eu usam heimdal sob Cygwin para SSH em FR. Espero que qualquer coisa que passe pelas DLLs do Cygwin use o heimdal e nunca veja o LR TGT (o que não acontece, pelo menos não por padrão). Eu explicitamente pareço e sigo em frente.
A parte complicada vem para usuários não-avançados que eu tenho que apoiar, que não usam o Cygwin, mas usam o PuTTY. O PuTTY permite especificar o caminho da biblioteca e a DLL para a qual a implementação GSSAPI deve ser usada. Por exemplo, estou configurando sessões SSH para usar DLLs do MIT Kerberos em vez de DLLs internas do Windows. Eu esperava que houvesse uma DLL por aí que nunca tentasse encontrar o LR TGT (como heimdal) ou permitisse vários TGTs de vários reinos. Ele não precisa ter uma janela GUI como o MIT Kerberos, mas ajuda.