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 / 问题 / 1093700
Accepted
YuvGM
YuvGM
Asked: 2022-02-16 01:31:23 +0800 CST2022-02-16 01:31:23 +0800 CST 2022-02-16 01:31:23 +0800 CST

在 ipa ubuntu 客户端上未更新 Kerberos 凭据

  • 772

当我使用 ssh 登录我的 freeipa 客户端时,我获得了 Kerberos 凭据(klist)。但是,在它们过期后,我不再获得凭据(klist 为空)。这导致没有主目录,因为用户没有 nfs 的权限。我可以使用 kinit 来获取新的凭据。重新启动 sssd 并再次使用 ssh 登录,也获得了新的票证。使用 sudo 也可以获得票证。

我什至不知道哪个进程负责请求票证,所以我不知道从哪里开始调试问题。我有 Ubuntu 20.04 并使用 freeipa-client 包安装客户端。

任何帮助,将不胜感激。

ubuntu kerberos freeipa sssd
  • 1 1 个回答
  • 208 Views

1 个回答

  • Voted
  1. Best Answer
    abbra
    2022-02-21T22:56:02+08:002022-02-21T22:56:02+08:00

    如果您使用 ssh 公钥进行身份验证,那么您只是对您的 ssh 守护进程进行身份验证,而不是对系统进行身份验证。SSH 守护进程会声称它执行了身份验证,然后将您登录到 shell。虽然此过程可能使用 PAM 堆栈来设置您的登录会话,但是它不通过 PAM 堆栈处理身份验证。

    我可能对你说很明显,但只有在你使用请求它的软件时才能获得 Kerberos 票。在典型的系统上,如果在应用程序使用的 PAM 配置堆栈中定义了其中一个,则将通过 PAMauth阶段请求此类票证。当此类应用程序(例如)正在跳过阶段时,不会调用任何负责身份验证的 PAM 模块,并且无法通过这种方式获得 Kerberos 票证。pam_ssspam_krb5authsshdauth

    当 Kerberos 客户端尝试请求初始票证授予票证 (TGT) 时,它和 Kerberos KDC 交换所谓的“预身份验证方法”列表。在实践中,这些是用于针对 KDC 对客户端进行身份验证的方法。客户端选择的一种方法,如果被 KDC 接受,则实现实际的身份验证过程。没有使用 SSH 密钥对进行身份验证的 Kerberos 预身份验证方法,因此您不能使用 SSH 密钥对来获取 TGT。所有标准的基于密码的预身份验证方法都是围绕 Kerberos 客户端和 Kerberos KDC 构建的,它们知道用户主体的长期密钥(密码),即使它们不通过网络传递它。

    你能做什么?您可能想转而使用智能卡进行身份验证。Kerberos 支持智能卡身份验证作为“pkinit”预身份验证方法。除此之外,SSH 守护进程能够处理来自智能卡的证书以进行类似于 SSH 密钥对情况的身份验证。

    如果您使用 PKINIT 身份验证,您有两种方法:在您的工作站上获取带有 PKINIT 的 Kerberos TGT,并使用您在本地拥有的 Kerberos 票证登录到其他机器上的 SSH 守护程序,或者使用您的智能卡证书以SSH 密钥,然后使用智能卡转发直接在主机上请求 Kerberos 票证。在前一种情况下,您的原始 TGT 不会自动转发到 SSH 主机,除非您已请求票证委托。在后一种情况下,您仍然需要申请 TGT。

    无论使用哪种方法,您都可以从https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/managing_certificates_in_idm/index中受益

    如果您不想或不能使用智能卡,那么剩下的唯一方法就是直接使用 Kerberos 登录而忘记 SSH 密钥对身份验证。

    • 1

相关问题

  • 无法通过 Ubuntu VPN 访问外部网络

  • ubuntu apt-get upgrade - 如何在 shell 中单击确定?

  • VirtualBox 上 Ubuntu 的访客优化技巧 [关闭]

  • 外部硬盘上的 virtualbox 虚拟硬盘驱动器(Vista 主机上的 ubuntu 客户机)

  • 如何在 Ubuntu 上挂载 LVM 分区?

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