加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

postgresql – 无法获得postgres和kerberos(gss)一起工作

发布时间:2020-12-13 16:20:51 所属栏目:百科 来源:网络整理
导读:我想通过GSSAPI共同努力获得postgres和kerberos.此时遇到麻烦.我真的是这两种技术的新手并没有帮助.我有两个postgres和kerberos分别按预期工作,并且正在使用它们(但不是在一起). 我在这里找到了说明:postressql-and-kerberos,并没有真正找到任何解释它更详
我想通过GSSAPI共同努力获得postgres和kerberos.此时遇到麻烦.我真的是这两种技术的新手并没有帮助.我有两个postgres和kerberos分别按预期工作,并且正在使用它们(但不是在一起).

我在这里找到了说明:postressql-and-kerberos,并没有真正找到任何解释它更详细的东西.

我在postgresql.conf文件中设置了这两行:

krb_server_keyfile = '/var/lib/pgsql/data/krb5.keytab' 
krb_srvname = 'postgres'

我通过运行带有该信息的’kinit -kt’验证了这是正确的.我在pg_hba.conf文件中添加了这两个条目:

# TYPE  DATABASE  USER    CIDR-ADDRESS   METHOD
host    all       all     10.0.1.0/24    gss include_realm=0 krb_realm=HOTDOG.REALM.COM

我重新启动服务器并尝试通过远程客户端连接…

kinit freddyboy
<enter password>

这是成功的,如果我做’klist’,我可以看到细节.

然后我尝试通过以下方式连接到postgres:

psql -l -h postgresserver.hotdog.com

我收到一条错误说明:

pgql: GSSAPI continuation error:  Unspecified GSS failure.  Minor code may provide more information
GSSAPI continuation error: Server not found in Kerberos database

如果我查看服务器日志文件(postgresql-Tue.log)…我看到的只是“致命:用户”fred“的GSSAPI身份验证失败.

好吧,’fred’是我的linux登录……“freddyboy”是我的用户原则.所以,像postgresql客户端那样的接缝并没有像它应该那样发送kerberos认证.我试过发送用户:

psql -l -h postgresserver.hotdog.com -U freddyboy

日志文件现在说“GSSAPI身份验证失败了用户”freddyboy“,但它显然仍然失败.我有一个’freddyboy’的postgres用户拥有一些数据库.我可以在本地登录,没有GSSAPI,但看起来不行远程安全地获取.

我怀疑我的客户端没有指定我想要用户GSSAPI.由于这只是一个客户端,conf文件不存在……所以这可能是一个问题,我想.

还有一点,kerberos服务器是ActiveDirectory.我看到一些迹象表明校长应该是大写的.我已经尝试过服务主体(“POSTGRES”)和我的用户主体“FREDDYBOY”,但仍然没有爱.

非常感谢任何帮助.我在客户端和服务器上使用Postgres 8.4.13.

弗雷德

该错误表明您没有为Postgres服务器创建服务主体.这是存储在服务器本身的krb5.keytab文件中的主体.

如何做到这一点可以在PostgreSQL文档,20.3.3. GSSAPI Authentication方法中找到.

如果您已正确创建此主体,可能发生的情况是您的DNS反转无法正常工作.如果你在Postgres服务器的IP地址上运行主机,你应该得到postgresserver.hotdog.com.如果不这样做,Kerberos身份验证将不起作用.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读