使用GSSAPI进行身份验证的postgreSQl 12

时间:2020-02-14 03:12:19

标签: postgresql authentication kerberos gssapi

我已经在centos上使用gssAPI设置了Postgresql 12的身份验证。我遵循一个示例:https://paquier.xyz/manuals/postgresql/kerberos/。但是当我完成并运行与gssapi的连接时:

“ psql -U“ postgres/myrealm.example@MYREALM.EXAMPLE” -h myrealm.example postgres“ 我遇到一个错误:

psql:致命:无法接受GSSAPI安全上下文

致命:接受GSS安全上下文失败

详细信息:未指定的GSS故障。次要代码可能会提供更多信息:找不到密钥表条目

我想知道我是否缺少任何配置步骤/命令或实现了某些错误。我们非常感谢您的帮助。提前致谢。

1 个答案:

答案 0 :(得分:0)

问题原因

我遇到了同样的问题,花了几天时间对其进行调试。问题最终是PostgreSQL没有配置为使用我以为我使用的密钥表。

我曾尝试将密钥表放在以下位置:

  • /etc/krb5.keytab
  • /usr/local/pgsql/etc/krb5.keytab

我尝试在/var/lib/postgresql/data/postgresql.conf中设置以下内容:

krb_server_keyfile = /etc/krb5.keytab

这应该可以工作,但是我想因为我是通过Docker容器使用PostgreSQL的,所以配置不正确。我还尝试过执行SHOW ALL查询,该查询还显示了krb_server_keyfile = /etc/krb5.keytab

的预期条目

解决方案

最后,我设置了环境变量KRB5_KTNAME=/etc/krb5.keytab,然后使用了我的密钥表。