2012-06-07 19 views
5

Sto scrivendo un plugin pGina per ottenere token AFS e un Kerberos TGT dal nostro KDC al momento dell'accesso, mentre scrivendo ho notato una 'caratteristica' di kinit che non consente di fornire alcun ingresso a meno che la sua dalla tastiera, c'è andato la mia idea di appena reindirizzare l'input standard ...Creazione di un keytab da utilizzare con kinit in Windows

qualcuno ha suggerito di utilizzare un file keytab per il principale, che sembrava super facile, fino a quando mi sono reso conto che avevo usato solo Kutil su linux e sto avendo difficoltà con la versione di Windows di ciò che è ktpass.exe. Ho provato più volte con un gran numero di combinazioni di argomenti per creare un keytab, ma ho avuto assolutamente nessun successo finora, il comando corrente che sto emittente è quello:

ktpass /out key.tab /mapuser [email protected] /princ [email protected] /crypto RC4-HMAC-NT /ptype KRB5_NT_PRINCIPAL /pass mahpasswordlol /target MERP.EDU

Purtroppo tutto questo uscite è

Using legacy password setting method

FAIL: ldap_bind_s failed: 0x31

che secondo la mia ricerca è un problema di autenticazione/crittografia, ho provato con l'altra D Le impostazioni ES, ma anche questo non sembra funzionare ... qualcuno ha qualche esperienza/idee su come questo potrebbe funzionare?

+0

DES è disabilitato per impostazione predefinita in Windows 2008 R2 Active Directory e versioni successive. Questo potrebbe essere stato il problema su quel particolare fronte allora quando lo provasti. –

risposta

8

ktpass.exe è davvero terribile; Io non lo uso Invece, basta usare ktutil su Unix per creare un abbinamento keytab in modo indipendente utilizzando la password, ad es .:

$ ktutil 
ktutil: addent -password -p [email protected] -k 1 -e aes128-cts-hmac-sha1-96 
Password for [email protected]R: 
ktutil: l 
slot KVNO Principal 
---- ---- --------------------------------------------------------------------- 
    1 1         [email protected] 
ktutil: wkt /tmp/zz 
$ klist -ek /tmp/zz 
Keytab name: WRFILE:/tmp/zz 
KVNO Principal 
---- -------------------------------------------------------------------------- 
    1 [email protected] (aes128-cts-hmac-sha1-96) 

L'errore binding LDAP indica che Ktpass non è possibile autenticare al controller di dominio; sei loggato in un account di dominio quando questo accade? Deve essere un account di dominio, piuttosto che locale (e deve essere autorizzato ad apportare le modifiche necessarie ad AD, sebbene manchino solo a ciò darebbe un errore di autorizzazione piuttosto che un vincolo).

FWIW, adottiamo un approccio diverso: utilizziamo il trust cross-realm tra i nostri domini Unix e AD. Il TGT AD che l'utente ottiene al momento del login è quindi sufficiente per acquisire credenziali anche per i servizi nel regno Unix; Ad esempio, posso usare PuTTY in SSH in un host Unix, Firefox/Chrome/IE per autenticare i servizi Web Unix (Apache/mod_auth_kerb), ecc.

+0

Quando si utilizza il cross trust, si sovrappongono i nomi DNS UNIX e WINDOWS o si imposta un sottodominio per includere gli host UNIX? –

+1

La nostra sovrapposizione; vale a dire, non esiste una regola semplice in grado di distinguere i nomi degli host nei due reami. Tuttavia, consiglio di utilizzare domini non sovrapposti per ognuno, se ciò è fattibile, ad es. * .WIN.FOO.COM e * .UNIX.FOO.COM; la nostra configurazione mista è il risultato di un'infrastruttura legacy che non possiamo modificare ora. L'installazione mista richiede una notevole quantità di complessità sotto forma di rinvii e/o configurazione di domini/realm statici su entrambi i lati, al fine di garantire che tutte le richieste di ticket arrivino nel posto giusto. Recentemente ho usato domini distinti in una nuova distribuzione, per evitarlo. –