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 / 问题 / 70335
In Process
user21693
user21693
Asked: 2009-10-02 03:44:25 +0800 CST2009-10-02 03:44:25 +0800 CST 2009-10-02 03:44:25 +0800 CST

创建密钥表和服务主体名称

  • 772

我正在尝试为 Java 服务器设置一个密钥表以支持 Windows 网络上的 Kerberos 身份验证。即使在命令行工具级别,我也很难让它工作,甚至还没有达到服务器设置的程度!我刚才的计划是尝试让它在我的开发 PC 上运行,因为我有开发工作和调试要做。所以我的目标是让 Java 服务器在我的 PC 上运行,而客户端在连接到它的同一台机器上运行。

这就是我到目前为止所做的,我真的很笨拙,所以我可能会做各种错误的事情!

创建了服务主体名称

我让我们的一位域管理员运行此命令:

setspn -A TEST/pc-name.mydomain.com my-user-name

这似乎成功完成,我可以成功列出这个 SPN

setspn -L my-user-name

创建了一个密钥表文件

我用这个命令创建了一个 keytab:

ktpass /princ TEST/[email protected] /pass <my-password> /ptype KRB5_NT_SRV_HST /out <keytab-filename>

这似乎成功地创建了一个 keytab,尽管它确实警告 ptype 和帐户类型不匹配(但无论我为 ptype 选择什么,我都会收到相同的警告)。如果我运行这个命令:

klist -k file:/<keytab-filename>

然后它列出了我期望的 SPN,即 TEST/[email protected]

问题!

现在我想检查 keytab 是否适用于这个 SPN,所以我正在运行

kinit -t <keytab-filename> TEST/[email protected]

然后我得到一个错误“krb_error 6 Client not found in Kerberos database”。

我究竟做错了什么?

spn
  • 1 1 个回答
  • 20365 Views

1 个回答

  • Voted
  1. Martin v. Löwis
    2009-10-02T09:01:17+08:002009-10-02T09:01:17+08:00

    我不太确定 my-user-name 是指活动目录中的计算机对象还是用户对象;我假设它是一个用户对象。在那种情况下,我认为 setspn 是不合适的;这是为了修改现有机器帐户的 SPN。对于用户帐户,我怀疑 SRV_HST 是否正确。

    显然,对与用户对象关联的 SPN 的支持有些有限。我在某处读到这实际上仅限于一个用户。我也无法让您的 ktpass 调用为我工作,因为它坚持 a) 指定应与 SPN 关联的用户帐户(通过 mapuser),以及 b) 设置 SPN 密码。我认为后者通过ktpass创建keytab是不可避免的。

    我设法以“标准方式”创建了一个密钥表,即通过设置一个专用用户帐户并将其与 SPN 关联:

    ktpass /princ TEST/host@DOMAIN /mapuser user@DOMAIN /pass *  /out foo.keytab /ptype KRB5_NT_PRINCIPAL
    

    该操作(预期)破坏了用户的登录,但是,我随后能够使用 kinit

     kinit -k -t /tmp/foo.keytab  TEST/host@DOMAIN
    
    • 4

相关问题

Sidebar

Stats

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

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

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

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

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

    • 3 个回答
  • Marko Smith

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

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +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