Похоже, мне здесь не хватает чего-то фундаментального ...
У вас есть машина без домена (личная машина за пределами сайта), с которой я подключаюсь к нашей рабочей сети. После подключения из klist, похоже, мой VPN-клиент (Juniper) согласовал билет Kerberos (krbtgt / @). Также обратите внимание, что локальное имя пользователя для входа на этот компьютер отличается от моего имени пользователя Active Directory.
Затем я хотел бы использовать PuTTY с поддержкой GSSAPI / Kerberos для SSH для хоста Linux (хост Linux настроен правильно с SSSD и принимает входы GSSAPI из аналогичным образом настроенного экземпляра PuTTY, который является членом рабочего домена). Однако мне предлагается ввести пароль при входе в систему, а не просто пройти.
Есть ли способ явно указать PuTTY на билет, который я вижу в klist? Нужно ли мне пытаться получить новый билет? Если да, то как? Нужен ли мне билет другого типа (хост или krbtgt)? Я экспериментировал с ksetup / MapUser, чтобы попытаться сопоставить мою локальную учетную запись пользователя с билетом, который я вижу в klist, но у меня сбой в синтаксисе, и я не уверен, что это правильное дерево в любом случае.
Очевидно, у меня есть другие варианты входа в систему, но я хотел бы понять, что происходит.
Заранее спасибо!
Встроенный в Windows клиент Kerberos может справиться с этим самостоятельно. Вам просто нужно дать ему небольшое руководство о том, как сначала найти KDC для данной области. Это что-то вроде Windows-эквивалента файла krb5.conf.
В командной строке с повышенными привилегиями запустите это для каждого KDC, который вы хотите использовать:
ksetup /addkdc REALM.EXAMPLE.COM mykdc.realm.example.com
Теперь, даже если ваш VPN-клиент еще не получил для вас TGT. Вы можете сделать следующее, чтобы открыть командную строку в контексте вашего участника Curb.
runas /netonly /user:myuser@REALM.EXAMPLE.COM cmd
Затем из этого приглашения:
putty -ssh myuser@myserver.realm.example.com
Предполагая, что в ваших настройках PuTTY по умолчанию включен GSSAPI, это должно зарегистрировать вас прямо на хосте, и Windows загрузит ваш TGT в процессе. Технически вы могли бы просто заменить putty
командование вместо cmd
для runas
команда. Но я предпочитаю держать открытым общее приглашение cmd, которое я могу использовать и для других подключений или приложений.
Итак, ответ здесь - использовать такой пакет, как MIT Kerberos для Windows (если он находится в Windows), чтобы получить билет. Затем PuTTY попытается использовать этот ключ - и вы можете явно убедиться, что стек MIT подтвержден с помощью параметров аутентификации GSSAPI в конфигурации PuTTY.
В Unix вы можете использовать обычные инструменты kinit из интерфейса командной строки для получения билета.