Have you tried your tickets on the client machine ? From my (little) understanding, the postgresql server complain that the client initiated the communication with an ticket signed with a different key (kvno 3 vs. 4). Hope it help.
For information here the differences from your setup with mine (debian 10 / AD 2012) : 1) postgresql server not joined in domain 2) keytab generated with ktpass -out postgres.keytab ^ -princ POSTGRES/debby@dom.local ^ -mapUser DOM\postgres ^ -rndpass ^ -mapOp set ^ -maxpass ^ -crypto AES256-SHA1 ^ -ptype KRB5_NT_PRINCIPAL Le ven. 26 mai 2023 à 20:35, Jean-Philippe Chenel <jp.che...@live.ca> a écrit : > Dear Tumasgiu Rossini, > > When I do the ktpass command on Windows AD, I can see that there is no > other AD account mapped, otherwise it will raise an exception (Failed to > set property 'servicePrincipalName'). > > *Here is the klist command:* > root@SFADAPGDDF02:/# klist -k /etc/postgresql/postgres.keytab > KVNO Principal > ---- > -------------------------------------------------------------------------- > 4 postgres/ubuntu.ad.corp....@ad.corp.com > > *Windows AD command:* > PS C:\Users\Administrateur> get-aduser pgsql_ubuntu -properties > msDS-KeyVersionNumber > > DistinguishedName : CN=pgsql_ubuntu,CN=Managed Service > Accounts,DC=ad,DC=corp,DC=com > Enabled : True > GivenName : pgsql_ubuntu > msDS-KeyVersionNumber : 4 > Name : pgsql_ubuntu > ObjectClass : user > ObjectGUID : dcaadc3c-2faf-44cf-a558-2a441cca690c > SamAccountName : pgsql_ubuntu > SID : S-1-5-21-1388463811-2779960163-2428466526-1204 > Surname : > UserPrincipalName : postgres/ubuntu.ad.corp....@ad.corp.com > > If I look at the postgresql.log, I saw another kvno number. This one is > matching the user trying to connect. > > 2023-05-26 18:30:08.576 UTC [4033] jp.chenel@template1 LOG: accepting > GSS security context failed > 2023-05-26 18:30:08.576 UTC [4033] jp.chenel@template1 DETAIL: > Unspecified GSS failure. Minor code may provide more information: Request > ticket server postgres/sfadapgddf02.ad.sygifcorp....@ad.sygifcorp.com not > found in keytab (ticket kvno 3) > > Like I said, if I make a new keytab, just changing "-pass postgres", > connections will work again. How to change this password ! For security > reason, I don't want to let this password. > > With best regards, > ------------------------------ > *De :* Tumasgiu Rossini <rossin...@gmail.com> > *Envoyé :* 26 mai 2023 12:09 > *À :* Jean-Philippe Chenel <jp.che...@live.ca> > *Objet :* Re: PostgreSQL GSSAPI Windows AD > > Hi, > > are you sure that there is no other ad account mapped to the postgres/ > ubuntu.ad.corp....@ad.corp.com principal ? > > Also you should check that the kvnos of both your keytab and your ad > account matches, with the following commands : > > in linux for the keytab > klist /path/to/the/keytab > > and in Windows for the account > get-aduser <username> -properties msDS-KeyVersionNumber > > > Le jeu. 25 mai 2023 à 23:51, Jean-Philippe Chenel <jp.che...@live.ca> a > écrit : > > Hi, > > I've recently updated from PostgreSQL 9.6 to 14 and also ubuntu 16.04 to > 22.04. > I've made all the installation required for postgresql to connect in > GSSAPI authentication to a Windows domain. > > Something is going wrong and I don't know why. > When I change the mapped user password from "postgres" to anything else, > the connection stop to work > > Log of postgres: > Unspecified GSS failure. Minor code may provide more information: Request > ticket server postgres/ubuntu.ad.corp....@ad.corp.com not found in keytab > (ticket kvno 3) > > Here is the ktpass command (Windows AD): > > working: > ktpass -out postgres.keytab -princ postgres/ubuntu.ad.corp....@ad.corp.com > -mapUser AD\pgsql_ubuntu -pass postgres -mapOp add -crypto AES256-SHA1 > -ptype KRB5_NT_PRINCIPAL > > not working: > ktpass -out postgres.keytab -princ postgres/ubuntu.ad.corp....@ad.corp.com > -mapUser AD\pgsql_ubuntu -pass other_password -mapOp add -crypto > AES256-SHA1 -ptype KRB5_NT_PRINCIPAL > > I put the keytab on the postgres server, the keytab file is referenced in > the postgresql.conf file. > > Here is the full procedure: > > 1. Create user in AD for postgresql mapping (pgsql_ubuntu), always > valid, support AES256 > 2. Create another user for connection testing > 3. run ktpass command > 4. put the keytab file on the pg server in /etc/postgresql, chown to > postgres and chmod 600 > 5. postgresql.conf krb_server_keyfile = > '/etc/postgresql/postgres.keytab' > 6. pg_hba is configured to connect over gss > 7. ubuntu server (postgres) is added to domain with this command: > sudo realm join server.ad.corp.com -U Administrateur > > > I don't know why it works when the password is "postgres" and why I can't > change it. > > With best regards, > >