【问题标题】:postgreSQl 12 with GSSAPI authenticate带有 GSSAPI 的 postgreSQl 12 身份验证
【发布时间】:2020-02-14 03:12:19
【问题描述】:
我已经在 centos 上使用 gssAPI 设置了 Postgresql 12 的身份验证。我遵循了一个示例:https://paquier.xyz/manuals/postgresql/kerberos/。但是当我完成并运行与 gssapi 连接时:
"psql -U "postgres/myrealm.example@MYREALM.EXAMPLE" -h myrealm.example postgres"
我遇到了一个错误:
psql: FATAL: 无法接受 GSSAPI 安全上下文
致命:接受 GSS 安全上下文失败
详细信息:未指定的 GSS 故障。次要代码可能会提供更多信息:未找到键表条目
我想知道我是否遗漏了任何配置步骤/命令或执行错误。非常感谢任何帮助。提前致谢。
【问题讨论】:
标签:
postgresql
authentication
kerberos
gssapi
【解决方案1】:
问题原因
我遇到了同样的问题并花了几天时间调试它。问题最终是 PostgreSQL 没有配置为使用我认为我正在使用的 keytab。
我曾尝试将我的 keytab 放在以下位置:
/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,然后我的keytab就被使用了。