Git для Windows, домен Kerberos + ssh для сервера Linux?

Я бился головой о стол, пытаясь предоставить готовую рабочую станцию ​​​​Windows для разработчиков. Это уже 100% работает на линуксе, кинишь, а потом ssh без подсказки.

Домен Active Directory служит сервером Kerberos, KDC и т. д. Мои клиенты Linux могут получать от него свои билеты kerberos и передавать их на мои серверы Linux без каких-либо проблем. На самом деле я так обожгся на Kerberos AD, что, к сожалению, знаю его невероятно хорошо.

Обычно на клиентах Linux у меня должен быть правильный krb5.conf, поддерживает ли git для Windows этот тип конфигурации? Я просто бросаю один в каталог «etc»?

Спасибо, я ценю любую помощь, повторение этого опыта работы с клиентом на «git for windows»... или получение жестких подтверждений, которые ясно указывают, что это на самом деле невозможно.


person J. M. Becker    schedule 29.06.2015    source источник
comment
На какой KDC пользователи Linux получают билет? Это ваш домен AD? Или у вас два KDC — домен Active Directory и другая инфраструктура для Linux? Есть ли там доверительные отношения?   -  person Edward Thomson    schedule 29.06.2015
comment
@TechZilla, вы нашли решение этой проблемы, поскольку у меня такая же проблема.   -  person JamesD    schedule 26.01.2016
comment
... Я провел глубокое исследование, варианты не очень, отвечу на вопрос тем, что нашел.   -  person J. M. Becker    schedule 29.01.2016


Ответы (1)


После некоторых интенсивных исследований я смог понять, почему это никогда не сработает.

По сути, чтобы иметь поддержку Kerberos из собственной ОС, вы должны использовать ту же связанную библиотеку, что и родная ОС. Это означает, что когда вы входите в Windows, ваш билет доступен для любой программы, которая ссылается на Windows SSPI.

GitBash не является полноценным портом ОС, так как у него нет встроенной интеграции с Windows SSPI. Теперь, если бы у вас был kinit, скомпилированный с той же библиотекой, что и в GitBash, ПО КРАЙНЕЙ МЕРЕ, вы могли бы вручную сделать второй kinit. Это именно то, что я делал на Cygwin. Я обнаружил, что в GitBash DID скомпилирована поддержка GSSAPI, но без сопутствующего kinit невозможно передать билет.

Мне нужно либо сделать свою собственную версию GitBash, включая скомпилированную kinit, либо вернуться к Cygwin. Ни один из вариантов не поддерживался удаленно, учитывая, что это корпоративная среда.

Я считаю возможным настроить Git на использование plink замазки, в последних версиях SSPI связан с его Kerberos.

person J. M. Becker    schedule 29.01.2016