6

ログイン時にKDCからAFSトークンとKerberosTGTを取得するためのpGinaプラグインを書いていますが、キーボードからの入力がない限り入力を提供できないというkinitの「機能」に気づきました。標準入力をリダイレクトするだけです...

誰かがプリンシパルにkeytabファイルを使用することを提案しましたが、これは非常に簡単に思えましたが、Linuxでkutilしか使用しておらず、Windowsバージョンのktpass.exeで問題が発生していることに気づきました。キータブを作成するために多数の引数の組み合わせを繰り返し試しましたが、これまでのところまったく成功していません。現在発行しているコマンドは次のとおりです。

ktpass /out key.tab /mapuser user$@MERP.EDU /princ user.merp.edu@MERP.EDU /crypto RC4-HMAC-NT /ptype KRB5_NT_PRINCIPAL /pass mahpasswordlol /target MERP.EDU

残念ながら、この出力はすべて

Using legacy password setting method

FAIL: ldap_bind_s failed: 0x31

私の調査によると、認証/暗号の問題はどれですか?他のDES設定で試しましたが、これも機能しないようです...これがどのように機能するかについての経験/アイデアはありますか?

4

1 に答える 1

11

ktpass.exeは確かにひどいです。使わない。代わりに、Unixでktutilを使用して、パスワードを使用して独立して一致するキータブを作成します。例:

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

LDAPバインドエラーは、ktpassがドメインコントローラーに対してユーザーを認証できないことを示します。これが発生したときにドメインアカウントにログインしていますか?ローカルアカウントではなくドメインアカウントである必要があります(ADに必要な変更を加えることを許可する必要がありますが、それがないと、バインドではなく許可エラーが発生します)。

FWIWでは、これに対して別のアプローチを採用しています。UnixレルムとADレルムの間でレルム間の信頼を使用しています。ユーザーがログイン時に取得するADTGTは、Unixレルムのサービスのクレデンシャルも取得するのに十分です。たとえば、PuTTYを使用してUnixホストにSSHで接続したり、Firefox / Chrome /IEを使用してUnixWebサービス(Apache / mod_auth_kerb)に認証したりできます。

于 2012-08-22T02:45:34.537 に答える