AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 478867
Accepted
b0ti
b0ti
Asked: 2013-02-15 07:55:21 +0800 CST2013-02-15 07:55:21 +0800 CST 2013-02-15 07:55:21 +0800 CST

SSH Kerberos 身份验证失败,并在 debian squeeze 上显示“请求中的主体错误/没有客户端凭据”

  • 772

我有一个 debian squeeze 主机,在没有密码提示的情况下我无法使用 kerberos 登录。一台配置相同的 ubuntu 12.04 主机工作正常,可以在没有密码提示的情况下登录。

在 kinit 之后,klist 给出:

Ticket cache: FILE:/tmp/krb5cc_1000
Default principal: boti@REALM

Valid starting    Expires           Service principal
14/02/2013 16:37  15/02/2013 16:37  krbtgt/REALM@REALM

现在,当我尝试通过 ssh 登录到 debian-squeeze 时,我看到了密码提示。如果我此时检查我的票而不进行身份验证,我会得到:

Ticket cache: FILE:/tmp/krb5cc_1000
Default principal: boti@REALM

Valid starting    Expires           Service principal
14/02/2013 16:37  15/02/2013 16:37  krbtgt/REALM@REALM
14/02/2013 16:38  15/02/2013 16:37  host/debian-squeeze@
14/02/2013 16:38  15/02/2013 16:37  host/debian-squeeze@REALM

所以很明显我得到了一张票。然而 ssh 调试日志给出:

Postponed gssapi-with-mic for boti from 192.168.255.98 port 59557 ssh2
debug3: mm_request_send entering: type 40
debug3: mm_request_receive_expect entering: type 41
debug3: mm_request_receive entering
debug3: monitor_read: checking request 40
debug1: Unspecified GSS failure.  Minor code may provide more information
Wrong principal in request

这与此处、此处和错误报告中的描述非常相似。

我的 DNS 没问题。已经尝试重新创建主体/密钥。因此,那里发布的解决方案都没有帮助。

有什么提示吗?

linux
  • 2 2 个回答
  • 14287 Views

2 个回答

  • Voted
  1. Best Answer
    chutz
    2013-02-25T16:36:58+08:002013-02-25T16:36:58+08:00

    在示例输出中,我看到您得到了一个密钥debian-squeeze- 一个没有任何点的主机名。这确实有点证明您将反向解析设置为指向短名称。这真的是您看到的非 FQDN 名称,还是针对问题进行了编辑?

    Kerberos 应该与其中任何一个一起工作,但您可以仔细检查主机本身是否认为它被称为debian-squeeze. 检查内部的正向 - >反向查找是否debian-squeeze真的解析为debian-squeeze:

    $ getent hosts $(hostname) | awk '{print $1; exit}' | xargs getent hosts | awk '{print $2}'
    

    我还没有真正听说过使用短名称部署 Kerberos,所以如果您有选择,坚持使用 FQDN 可能是个好主意。

    更新:

    客户端当前正在获取短名称的密钥,但服务器认为它是用长名称正确命名的。很可能问题就在那里。只是为了确定,请尝试以下操作:

    1. 检查来自客户端的正向/反向名称查找。IE

      $ getent hosts debian-squeeze | awk '{print $1; exit}' | xargs getent hosts | awk '{print $2}'
      

      返回的名称是客户端将尝试为其获取票证的名称。从您的输出来看,这可能是简称。

    2. 检查服务器上存在哪些密钥。

      $ sudo klist -k /etc/krb5.keytab
      Keytab name: WRFILE:/etc/krb5.keytab
      KVNO Principal
      ---- --------------------------------------------------------------------------
         1 host/debian-squeeze.realm@REALM
         1 host/debian-squeeze.realm@REALM
         1 host/debian-squeeze.realm@REALM
         1 host/debian-squeeze.realm@REALM
      ...
      

      在列表中,您应该看到一个主体与上一个命令中的主机名相匹配。如果它不存在,那就是你的问题。如果它在那里...

    3. 验证 kerberos 服务器上的密钥版本是否与 上的相同debian-squeeze。在客户端上,显式获取密钥并验证行尾的“KVNO”版本:

      $ kvno host/debian-squeeze.realm
      host/debian-squeeze.realm@REALM: kvno = 1
      

    无论如何,所有这些命令中的主机名和“kvno”版本应该匹配。

    • 7
  2. slushpupie
    2013-02-25T14:55:03+08:002013-02-25T14:55:03+08:00

    当服务器上的 /etc/hosts 包含其 IP 地址条目与 DNS 或密钥表中的内容不匹配时,我看到了此错误。您是否仔细检查(或删除)了 /etc/hosts 中的所有非本地主机条目?

    • 0

相关问题

  • Linux 主机到主机迁移

  • 如何在 Linux 机器上找到有关硬件的详细信息?

  • 如何在 Linux 下监控每个进程的网络 I/O 使用情况?

  • 在 RHEL4 上修改 CUPS 中的现有打印机设置

  • 为本地网络中的名称解析添加自定义 dns 条目

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve