SSH与Kerberos的单点登录

贝斯乔

我想通过Kerberos SSO与SSH进行身份验证。现在,当我使用我的用户主体登录时,我sourcehost得到了Kerberos票证,但无法将其用于SSH进入targethost

问题似乎是主机名。我有一个主机主体host/[email protected],但如果我不管ssh targethost或者ssh targethost.example.com它被翻译成主机主体host/[email protected](见下面的错误消息),它不存在。

我可能是错的,但我认为这应该是周围的其他方式都ssh targethostssh targethost.example.com应该被翻译成主机主体host/[email protected]

这是错误:

$ ssh targethost.example.com -v
...
debug1: Unspecified GSS failure.  Minor code may provide more information
Server host/[email protected] not found in Kerberos database

debug1: Unspecified GSS failure.  Minor code may provide more information
Server host/[email protected] not found in Kerberos database

debug1: Unspecified GSS failure.  Minor code may provide more information
...
debug1: Next authentication method: password
[email protected]'s password: 

有人可以解释主机主体如何从主机名派生以及如何进行配置(顺便说一句,我在Ubuntu上)?


编辑:

grawity的回答使我找到了一种解决方案,我认为这对我的配置是一个很好的解决方案。

  • 在Garman的Kerberos书中,我发现KDC端规范化是首选方法。
  • 对于我的LDAP支持的KDC,我在Kerberos文档中(在此页面底部)找到了实现该方法的方法。

因此,在使用kdadmin.local/addprinc与FQDN创建主机主体之后,我必须通过运行ldapmodify以下输入为LDAP中的新主体条目添加别名

dn: krbPrincipalName=host/[email protected],cn=EXAMPLE.COM,cn=krbContainer,dc=example,dc=com
replace: krbCanonicalName
krbCanonicalName: host/[email protected]
-
add: krbPrincipalName
krbPrincipalName: host/[email protected]
用户名

传统上,Kerberos使用反向DNS规范化主体名称。也就是说,在解析targethost.example.com为IP地址之后,它将尝试将地址解析回“规范”名称,并将其用于委托人。

如果您targethost是通过解析/ etc / hosts文件,那么首先在相应的线路名称将被用作“规范”的名字:

# good:
1.2.3.4  targethost.example.com  targethost

# bad:
1.2.3.4  targethost  targethost.example.com

如果需要,可以通过/etc/krb5.conf完全关闭基于DNS的规范化:

[libdefaults]
    dns_canonicalize_hostname = false

...并简单地为主机创建两个主体-一个用于短名称,一个用于长名称。(这实际上是Active Directory的功能,与SSL / TLS的行为并无不同-直接使用用户输入而不是询问DNS总是更安全。)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

开源单点登录项目

来自分类Dev

Oracle APEX单点登录

来自分类Dev

实施zendesk单点登录

来自分类Dev

春季单点登录

来自分类Dev

REST API的单点登录支持

来自分类Dev

单点登录与子域认证

来自分类Dev

SSO(单点登录)如何工作

来自分类Dev

设置FreeRadius + ldap +单点登录

来自分类Dev

使用ADFS 2.0的单点登录

来自分类Dev

在Chrome中禁用单点登录

来自分类Dev

单点登录中的依赖项

来自分类Dev

使用Kerberos通过SSH登录时,odmjob_mkhomedir不运行

来自分类Dev

使用CAS的单点登录身份验证

来自分类Dev

iOS 7中的单点登录(SSO)

来自分类Dev

微服务架构中的单点登录

来自分类Dev

单点登录:我应该去哪个方向?

来自分类Dev

Golang中的单点登录身份验证

来自分类Dev

使用freeRadius和Apache进行单点登录?

来自分类Dev

Laravel使用子域单点登录

来自分类Dev

服务器/页面上的单点登录

来自分类Dev

WSO2与Identity Server的单点登录

来自分类Dev

中央身份验证服务单点登录

来自分类Dev

使用freeRadius和Apache进行单点登录?

来自分类Dev

Yammer通过外部网络单点登录

来自分类Dev

使用 MSAL.js 进行单点登录?

来自分类Dev

使用外部登录表单在Moodle中进行单点登录

来自分类Dev

SSH与Kerberos身份验证

来自分类Dev

使用Selenium WebDriver和TestNG处理单点登录

来自分类Dev

HelpScout和SSO-启动单点登录吗?