Назад | Перейти на главную страницу

Kerberos PuTTY с компьютера без домена через VPN

Похоже, мне здесь не хватает чего-то фундаментального ...

У вас есть машина без домена (личная машина за пределами сайта), с которой я подключаюсь к нашей рабочей сети. После подключения из 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 из интерфейса командной строки для получения билета.