web-dev-qa-db-ja.com

SSSD Kerberos AD Centosのトラブルシューティング

RedHat AD統合から構成3を実行しました( https://access.redhat.com/sites/default/files/attachments/rhel-ad-integration-deployment-guidelines-v1.5.pdf =);しかし、行き詰まっています。

私はCentos 6.8を使用しています。

AD接続が機能しています。

 service sssd stop
 rm -r /var/lib/sss/db/*
 rm -r /var/lib/sss/mc/*
 service sssd start
 getent passwd [email protected]

これは賢明な行を返します:

 robau:*:102201201:102200513:Rob Audenaerde:/:

しかし、SSH経由で接続しようとすると、ログインできません。 sssd.confのすべてのコンポーネントレベル5でSSSDデバッグを有効にしました。

私が見るエラー(var/log/sssd/krb5_child.log)は次のとおりです。

(Fri Jun 17 17:23:18 2016) [[sssd[krb5_child[3561]]]] [validate_tgt] (0x0020): TGT failed verification using key for [Host/[email protected]].
(Fri Jun 17 17:23:18 2016) [[sssd[krb5_child[3561]]]] [get_and_save_tgt] (0x0020): 1240: [-1765328377][Server not found in Kerberos database]
(Fri Jun 17 17:23:18 2016) [[sssd[krb5_child[3561]]]] [map_krb5_error] (0x0020): 1301: [-1765328377][Server not found in Kerberos database]
(Fri Jun 17 17:23:18 2016) [[sssd[krb5_child[3561]]]] [k5c_send_data] (0x0200): Received error code 1432158209

サーバーはDNSにあり、nslookupを使用して見つけることができます

   nslookup server-new.mynetwork.nl

   Server:  192.168.110.56
   Address: 192.168.110.56#53

   Name:    server-new.mynetwork.nl
   Address: 192.168.210.94

そして

kvno Host/[email protected]
kvno: Server not found in Kerberos database while getting credentials for Host/[email protected]

トラブルシューティングのヒント/ヒントはありますか?

[編集] authconfigを使用して、必要なpamnssをセットアップしました:

authconfig --enablesssdauth --enablesssd --enablemkhomedir --update

klist -kteの出力:

  25 06/20/16 10:56:24 Host/[email protected] (des-cbc-crc) 
  25 06/20/16 10:56:24 Host/[email protected] (des-cbc-md5) 
  25 06/20/16 10:56:24 Host/[email protected] (aes128-cts-hmac-sha1-96) 
  25 06/20/16 10:56:24 Host/[email protected] (aes256-cts-hmac-sha1-96) 
  25 06/20/16 10:56:24 Host/[email protected] (arcfour-hmac) 
  25 06/20/16 10:56:24 Host/[email protected] (des-cbc-crc) 
  25 06/20/16 10:56:24 Host/[email protected] (des-cbc-md5) 
  25 06/20/16 10:56:25 Host/[email protected] (aes128-cts-hmac-sha1-96) 
  25 06/20/16 10:56:25 Host/[email protected] (aes256-cts-hmac-sha1-96) 
  25 06/20/16 10:56:25 Host/[email protected] (arcfour-hmac) 
  25 06/20/16 10:56:25 [email protected] (des-cbc-crc) 
  25 06/20/16 10:56:25 [email protected] (des-cbc-md5) 
  25 06/20/16 10:56:25 [email protected] (aes128-cts-hmac-sha1-96) 
  25 06/20/16 10:56:25 [email protected] (aes256-cts-hmac-sha1-96) 
  25 06/20/16 10:56:26 [email protected] (arcfour-hmac)

klistの出力

Ticket cache: FILE:/tmp/krb5cc_0
Default principal: [email protected]

Valid starting     Expires            Service principal
06/20/16 10:56:41  06/20/16 20:56:41  krbtgt/[email protected]
    renew until 06/27/16 10:56:41
06/20/16 11:36:07  06/20/16 20:56:41  ldap/[email protected]
    renew until 06/27/16 10:56:41

[編集2]

krb5_validateセクション[domain/mynetwork.local]の最後にsssd.confを追加すると、ログインできます。ただし、この手順を必要としない別のサーバーもセットアップしたので、このままにしておくことに消極的です。

[編集3] net ads join -kの実行中にエラー/警告が表示されます:

DNS Update for failed: ERROR_DNS_GSS_ERROR 
DNS update failed!

[編集4] net ads infoの出力が、構成ファイルで指定したメインドメインコントローラーを使用していないことがわかります(2008R2ではなく2003R2です)。特定のドメインコントローラを使用するようにnet ads join -kを「強制」する方法はありますか?

3
RobAu

msktutilをインストールして実行してみてください(EPELから入手できます)。

インストールするには:

yum -y --enablerepo=epel install msktutil

実行するには:

msktutil --auto-update --server my-ad --verbose

その後、kinitを実行します。

kinit -k server-new$

また、これら2つのジョブを6時間ごとに実行するようにcronする必要があります。これにより、チケットの有効期限が切れません。

EDIT4への回答:net ads join -k -Sを使用してサーバーを指定できるはずですが、デフォルトではDNSでSRVレコードを検索します。結構です。あなたがそれを望まない限り。特定のサイトで別のDCを使用する場合は、Active Directoryサイトとサービスを参照してください。

2
aairey

これは通常、正規化によって引き起こされます。追加してみてください:

rdns=false

krb5.confに、そしてまた

SASL_NOCANON true

ldap.conf

(どちらもRHEL-7のデフォルトです)。

2
jhrozek