Мой локальный компьютер использует Windows 7 Pro и принадлежит области LR, управляемой серверами AD. Я подключаюсь к своему компьютеру, когда подключен к сети этого царства. Я могу просмотреть TGT с версией MIT Kerberos для Windows. 4.0.1.
Я хочу получить доступ к ресурсам за границей, FR. Между LR и FR нет доверия Kerberos, но они разрешают трафик TCP между собой. Я запрашиваю TGT для FR с его KDC (Red Hat IdM / FreeIPA) и успешно ввожу свой пароль, когда его оспаривают. Опять же, я могу просмотреть TGT с версией MIT Kerberos для Windows. 4.0.1. Теперь я могу получить доступ к ресурсам в FR через SSH без запроса пароля, несмотря на то, что он происходит из LR.
Проблема в том, что когда я получаю TGT для FR, TGT для моего принципала LR исчезает. Только FR TGT виден в MIT Kerberos. Если я блокирую свой компьютер, а затем разблокирую его с помощью своего пароля, то теперь FR TGT исчезает, заменяется новым LR TGT.
Кажется, MIT Kerberos для Windows может хранить только один TGT за раз. Каждый TGT полностью работает для своей цели во всех смыслах и целях. Как я могу настроить MIT Kerberos, чтобы позволить мне иметь два TGT одновременно, по одному для каждой области? Можно ли «разделить» несколько клиентских экземпляров, каждый из которых указывает на разные KRB5_CONFIG и локальную таблицу ключей? Если я не могу, есть ли альтернативная реализация Windows Kerberos 5 на стороне клиента, которая будет работать, даже если нет доверительных отношений между сферами?
PS - я не хочу доверия. Не могу получить доверие.
ОБНОВЛЕНИЕ: я пропустил некоторые из этих деталей ранее, потому что я думал, что это может запутать проблему. Но, основываясь на ответе Брэда, это может быть оправдано. Я ожидаю, что большинство локального программного обеспечения будет использовать встроенную в Windows реализацию Kerberos и всегда использовать LR keytab.
Тем не менее, опытные пользователи, такие как я, используют Heimdal под Cygwin для SSH в FR. Я ожидаю, что что-нибудь, проходящее через библиотеки Cygwin, будет использовать heimdal и никогда не видеть LR TGT (чего не происходит, по крайней мере, по умолчанию). Я явно kinit и двигаться дальше.
Сложная часть приходит для неопытных пользователей, которых я должен поддерживать, которые не используют Cygwin, но используют PuTTY. PuTTY позволяет вам указать и путь к библиотеке, и DLL, для которой будет использоваться реализация GSSAPI. Например, я настраиваю сеансы SSH для использования библиотек MIT Kerberos вместо встроенных библиотек Windows. Я надеялся, что существует библиотека DLL, которая либо никогда не пыталась найти LR TGT (например, heimdal), либо позволяла использовать несколько TGT из нескольких областей. Не обязательно иметь окно с графическим интерфейсом, как MIT Kerberos, но это помогает.