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

Настройка клиента Windows 10 для области Linux KDC

Я установил сервер KDC и создал область EXAMPLE.COM. Вот мой файл krb5.conf:

[libdefaults]
  renew_lifetime = 7d
  forwardable = true
  default_realm = EXAMPLE.COM
  ticket_lifetime = 24h
  dns_lookup_realm = false
  dns_lookup_kdc = false
  default_ccache_name = /tmp/krb5cc_%{uid}
  #default_tgs_enctypes = aes des3-cbc-sha1 rc4 des-cbc-md5
  #default_tkt_enctypes = aes des3-cbc-sha1 rc4 des-cbc-md5

[logging]
  default = FILE:/var/log/krb5kdc.log
  admin_server = FILE:/var/log/kadmind.log
  kdc = FILE:/var/log/krb5kdc.log

[realms]
  EXAMPLE.COM = {
    admin_server = my.linux-server.de
    kdc = my.linux-server.de
  }

Я также добавил пользователя testuser с паролем abc через kadmin.local:

kadmin.local:  addprinc testuser@EXAMPLE.COM

Я могу успешно войти в свою виртуальную машину Ubuntu:

[root@ubuntu-vm ~]# kinit testuser
Password for testuser@EXAMPLE.COM:

затем klist показывает:

[root@ubuntu-vm ~]# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: testuser@EXAMPLE.COM

Valid starting       Expires              Service principal
01.12.2016 14:58:40  02.12.2016 14:58:40  krbtgt/EXAMPLE.COM@EXAMPLE.COM

и я могу открыть свой пользовательский интерфейс Kererized Hadoop.

================================================== ======================

Проблема делает мой клиент Windows. Я настроил его, скопировав krb5.conf файл с машины KDC в клиент Windows и переименовал его в kdc5.ini.

Я также установил домен компьютера:

C:> Ksetup /setdomain EXAMPLE.COM

После перезагрузки я попытался подключиться к своей области KDC через

C:> kinit testuser@EXAMPLE.COM
Password for testuser@EXAMPLE.COM:
<empty row>

Пока все выглядело хорошо, но когда я звоню klist Получаю только такой результат:

Aktuelle Anmelde-ID ist 0:0x7eca34

Zwischengespeicherte Tickets: (0)

На английском что-то вроде ... cached tickets: (0)

Я также не могу открыть свой веб-сайт на клиенте Windows, поэтому я предполагаю, что есть проблема совместимости, поскольку у меня не было проблем с подключением через мой клиент Ubuntu.

Мой браузер (Firefox) должен быть правильно настроен на обеих машинах (Ubuntu и Windows), я установил network.negotiate-auth.trusted-uris собственность http://my.linux-server.de (поскольку я это сделал, клиент Ubuntu может открыть сайт). Curl также работает для Ubuntu, но не для Windows.

ОБНОВЛЕНИЕ: также безуспешно пробовал второй клиент Windows ...

Наконец-то все заработало! Я сделал следующие шаги на компьютере с Windows 7 (64-разрядная версия), они также должны работать с Windows 10:

  1. Установите MIT Kerberos из Вот. Я взял актуальную версию Windows, которая MIT Kerberos for Windows 4.1 и установил его с настройками по умолчанию.
  2. Открыть файл C:\ProgramData\MIT\Kerberos\krb5.ini и вставьте следующие настройки:

Новое содержимое файла:

[libdefaults]
  default_realm = EXAMPLE.COM

[realms]
  EXAMPLE.COM = {
    admin_server = your.admin.server.de
    kdc = your.kdc.server.de
  }
  1. Загрузите и установите актуальный браузер Firefox
  2. Тип about:config в адресной строке браузера Firefox и установите следующие параметры:

Параметр = Пары значений:

network.negotiate-auth.delegation-uris = http://your.kdc.server.de

network.negotiate-auth.trusted-uris = http://your.kdc.server.de

network.auth.use-sspi = false
  1. Перезагрузите компьютер
  2. Использовать MIT Kerberos Ticket Manager чтобы получить новый билет для вашего пользователя:

  3. Вы должны увидеть свой билет в менеджере:

    8. Теперь у вас должна быть возможность открыть веб-страницу, требующую аутентификации: