Я пытаюсь войти (через SSH, в экземпляр Amazon Linux EC2, на котором запущен sssd
) в качестве пользователей, которых я создал в своем AWS Directory Services Simple AD. Я аутентифицируюсь с помощью kerberos и идентифицирую пользователя с помощью LDAP (через sssd
.)
Я не могу войти в систему как пользователи, которых я создал с помощью adtool
, что означает что мне намного сложнее автоматизировать добавление новых пользователей в мой Simple AD. Когда я пытаюсь, KDC сообщает, что он не поддерживает тип шифрования (я полагаю, это для пароля пользователя?) См. Раздел «Сообщение об ошибке» ниже.
Однако я могу войти в систему и как встроенный пользователь-администратор, и как пользователи, которых я создал с помощью консоли управления Microsoft на экземпляре Windows Server 2008 EC2, присоединенном к домену. Итак, моя установка работает, или, по крайней мере, работает частично.
Мне нужно знать, что это такое. m поступает неправильно с adtool
, что не позволяет мне войти в систему как пользователи, созданные с их помощью. Непонятно, что я делаю неправильно, и я думаю, что это может быть полезно для людей, пытающихся сделать что-то похожее на меня. Подробности ниже.
Это результат sssd
при попытке войти в систему как пользователь, созданный с помощью adtool
:
(Thu Dec 31 15:35:35 2015) [[sssd[krb5_child[5459]]]] [sss_child_krb5_trace_cb] (0x4000): [5459] 1451576135.446649: Response was from master KDC
(Thu Dec 31 15:35:35 2015) [[sssd[krb5_child[5459]]]] [sss_child_krb5_trace_cb] (0x4000): [5459] 1451576135.446788: Received error from KDC: -1765328370/KDC has no support for encryption type
(Thu Dec 31 15:35:35 2015) [[sssd[krb5_child[5459]]]] [get_and_save_tgt] (0x0020): 996: [-1765328370][KDC has no support for encryption type]
(Thu Dec 31 15:35:35 2015) [[sssd[krb5_child[5459]]]] [map_krb5_error] (0x0020): 1065: [-1765328370][KDC has no support for encryption type]
(Thu Dec 31 15:35:35 2015) [[sssd[krb5_child[5459]]]] [k5c_send_data] (0x0200): Received error code 1432158209
На стороне клиента написано В доступе отказано, попробуйте еще раз.
Вот как выглядит моя архитектура вокруг Simple AD:
Эта настройка позволяет мне использовать LDAPS, даже если Simple AD AWS не поддерживает его.
Запись route53 для ELB - это directory.myteam.mycompany.com
, но домен, который я использовал для Simple AD, - myteam.mycompany.internal
. вот результат запроса их с помощью ldapsearch
из экземпляра, на котором запущен sssd
.
Пользователь, созданный с помощью adtool
(правка: ниже вы увидите, что Присутствует значение pwdLastSet
, я считаю, что его раньше не было, и его наличие является ключом к моему ответу):
$ ldapsearch -LLL -H ldaps://directory.myteam.mycompany.com -D CN=Administrator,CN=users,DC=myteam,DC=mycompany,DC=internal -x -W '(cn=test-user)'
Enter LDAP Password:
dn: CN=test-user,CN=Users,DC=myteam,DC=mycompany,DC=internal
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: user
cn: test-user
instanceType: 4
whenCreated: 20151230204358.0Z
displayName: Test user
uSNCreated: 3532
name: test-user
objectGUID:: ZhfGzcqLd06x2UBU3UNiZQ==
codePage: 0
countryCode: 0
primaryGroupID: 513
objectSid:: AQUAAAAAAAUVAAAAHWfr9xoaXwKvEcuoUwQAAA==
accountExpires: 9223372036854775807
sAMAccountName: test-user
sAMAccountType: 805306368
userPrincipalName: test-user@myteam.mycompany.internal
objectCategory: CN=Person,CN=Schema,CN=Configuration,DC=myteam,DC=mycompany,DC
=internal
userAccountControl: 512
lockoutTime: 0
whenChanged: 20151231150317.0Z
uSNChanged: 3619
pwdLastSet: 130960477970000000
distinguishedName: CN=test-user,CN=Users,DC=myteam,DC=mycompany,DC=internal
Пользователь, созданный с помощью консоли управления Microsoft:
$ ldapsearch -LLL -H ldaps://directory.myteam.mycompany.com -D CN=Administrator,CN=users,DC=myteam,DC=mycompany,DC=internal -x -W '(sAMAccountName=test-windows-2008)'
Enter LDAP Password:
dn: CN=Test User,CN=Users,DC=myteam,DC=mycompany,DC=internal
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: user
cn: Test User
sn: User
givenName: Test
instanceType: 4
whenCreated: 20151230223533.0Z
whenChanged: 20151230223534.0Z
displayName: Test User
uSNCreated: 3563
uSNChanged: 3563
name: Test User
objectGUID:: 2cuynP3/9EeRIm1fCUJ9jA==
userAccountControl: 512
codePage: 0
countryCode: 0
pwdLastSet: 130959885340000000
primaryGroupID: 513
objectSid:: AQUAAAAAAAUVAAAAHWfr9xoaXwKvEcuoVwQAAA==
accountExpires: 9223372036854775807
sAMAccountName: test-windows-2008
sAMAccountType: 805306368
userPrincipalName: test-windows-2008@myteam.mycompany.internal
objectCategory: CN=Person,CN=Schema,CN=Configuration,DC=myteam,DC=mycompany,DC
=internal
distinguishedName: CN=Test User,CN=Users,DC=myteam,DC=mycompany,DC=internal
Разница между моим использованием adtool
и MMC заключалась в том, что MMC поощряла меня инициализировать пароль пользователя, но я забыл сделать то же самое с моим пользователем, созданным с помощью рекламный инструмент
.Следующие шаги разрешили эту проблему, причем воспроизводимо:
$ adtool userunlock -w REDACTED_PASSWORD 'test-user'
$ adtool setpass -w REDACTED_PASSWORD test-user REDACTED_PASSWORD
В моем первоначальном вопросе я повторно запросил исходного тестового пользователя
сегодня утром после того, как коллега проделал вышеуказанные шаги для установки пароля, поэтому вывод показывает, что пароль был установлен, но вчера вечером, когда я пытался войти в систему, он не был установлен, следовательно, проблема. Когда я сегодня снова попытался войти в систему, это сработало, и после некоторого расследования я выяснил, почему.
Теперь я могу только догадываться, почему появилось сообщение «KDC не поддерживает тип шифрования»: поскольку было нет пароля, не было типа шифрования. Если я ошибаюсь, я хотел бы, чтобы меня исправили.
TL; DR нужно помнить, чтобы разблокировать пользователя и установить его пароль при использовании adtool
вместо MMC.
Я видел подобные ошибки раньше, вызванные одним из заданных параметров учетной записи (в среде, отличной от AWS), но я не помню, какое именно свойство. Есть ли у пользователей, созданных с помощью ADTool
, какие-либо дополнительные «параметры» по сравнению с пользователями, созданными с помощью MMC? Я не уверен, как показать эти параметры с помощью LDAPSearch
. Показаны два метода, которые я знаю, как использовать. Вы также можете использовать -prop *
с Get-Aduser
для отображения ВСЕХ свойств.
PS C:\temp> get-aduser mbe998 -prop DoesNotRequirePreAuth,UseDESKeyOnly
DistinguishedName : CN=Mary Brown,OU=Junk,DC=acme,DC=com
DoesNotRequirePreAuth : True
Enabled : False
GivenName : Mary
Name : Mary Brown
ObjectClass : user
ObjectGUID : f7f30ebe-f91d-41de-b38e-ae29853b7291
SamAccountName : mbe998
SID : S-1-5-21-3362165994-992225803-2260058754-129428
Surname : Brown
UseDESKeyOnly : True
UserPrincipalName : mbe998@acme.com