我在 RHEL6 上使用 sssd 配置了一些 Linux 服务器以使用 Active Directory Kerberos 进行身份验证。我还启用了 GSSAPI 身份验证以实现无密码登录。
但是我似乎无法让 Putty (0.63) 在没有密码的情况下进行身份验证。
GSSAPI 在为 AD 身份验证配置的 Linux 系统(openSSH 客户端)之间工作,使用 .ssh/config 设置启用 GSSAPI。
它也适用于 Cygwin(openSSH 客户端),使用相同的 .ssh/config 设置以及运行 kinit 命令来获取票证。
Samba 在所有 Linux 系统上共享,包括从 Windows 资源管理器工作的主目录,无需密码(我不确定 GSSAPI 是否在那里发挥作用)
我可以尝试解决哪些问题?我的大多数用户都使用 Putty。另外,我不是 Windows 管理员,所以我不能在域控制器上做任何事情。我的账户只有添加服务器到 AD 域的权限。
我打开了腻子 SSH 数据包日志记录。我发现这很有趣,但我不确定如何处理这些信息:
Event Log: Server version: SSH-2.0-OpenSSH_5.3
Event Log: Using SSH protocol version 2
Event Log: We claim version: SSH-2.0-PuTTY_Release_0.63
Outgoing packet #0x0, type 20 / 0x14 (SSH2_MSG_KEXINIT)
Incoming packet #0x0, …
Run Code Online (Sandbox Code Playgroud) 我正在寻找如何将 GSSAPI 支持添加到我的 OpenLDAP 中?
当前设置
MIT Kerberos V + OpenLDAP
Kerberos bind to openldap
Able to issue kerberos tickets to my users (with kinit exampluser)
Able to ldapsearch -x uid=exampluser
Run Code Online (Sandbox Code Playgroud)
OpenLDAP 端
server% ldapsearch -x -H ldapi:/// -b "" -LLL -s base -Z supportedSASLMechanisms
ldap_start_tls: Protocol error (2)
additional info: unsupported extended operation
dn:
supportedSASLMechanisms: DIGEST-MD5
supportedSASLMechanisms: EXTERNAL
supportedSASLMechanisms: CRAM-MD5
supportedSASLMechanisms: NTLM
supportedSASLMechanisms: LOGIN
supportedSASLMechanisms: PLAIN
Run Code Online (Sandbox Code Playgroud)
客户端
client% ldapsearch uid=exampleuser
SASL/GSSAPI authentication started
ldap_sasl_interactive_bind_s: Authentication method not …
Run Code Online (Sandbox Code Playgroud) 我正在尝试通过 GSSAPI 使 postgres 和 kerberos 协同工作。在这一点上遇到麻烦。我真的是这两种技术的新手,这无济于事。我让 postgres 和 kerberos 分别按预期工作,并且正在使用它们(但不是一起使用)。
我在这里找到了说明: postressql-and-kerberos,并没有真正找到任何更详细地解释它的东西。
我在 postgresql.conf 文件中设置了这两行:
krb_server_keyfile = '/var/lib/pgsql/data/krb5.keytab'
krb_srvname = 'postgres'
Run Code Online (Sandbox Code Playgroud)
我已经通过使用该信息运行“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
Run Code Online (Sandbox Code Playgroud)
我重新启动服务器并尝试通过远程客户端连接...
kinit freddyboy
<enter password>
Run Code Online (Sandbox Code Playgroud)
这是成功的,如果我做'klist',我可以看到细节。
然后我尝试通过以下方式连接到 postgres:
psql -l -h postgresserver.hotdog.com
Run Code Online (Sandbox Code Playgroud)
我收到一条错误消息:
pgql: GSSAPI continuation error: Unspecified GSS failure. Minor code may provide more information
GSSAPI continuation error: Server not found in Kerberos database
Run Code Online (Sandbox Code Playgroud)
如果我查看服务器日志文件 (postgresql-Tue.log)……我看到的只是“致命:用户“fred”的 GSSAPI 身份验证失败。
好吧,“fred”是我的 …
我有 Putty 能够在我的 Windows 7 x64 客户端上使用 gssapi 来对抗 SSH 的 kerberos 登录。即它转发您登录到 Windows 时获得的票证。我不知道如何让 tortiseSVN 做同样的事情。通过在配置文件中从霓虹灯更改为农奴,我可以让它在每次我做任何事情并且它们工作时提示我输入凭据。但是我需要它来使用票,所以我不必不断输入我的用户名和密码。
如果 Tortise 不能做到这一点,有没有人知道 Windows 的 svn 客户端可以做到这一点?
我正在尝试创建一个密钥表文件。我看到一条警告
WARNING: pType and account type do not match. This might cause problems.
Run Code Online (Sandbox Code Playgroud)
我使用的命令是
ktpass -princ HTTP/bloodhound.domain.com@DOMAIN.COM -mapuser ldaplookup@domain.com -crypto rc4-hmac-nt -pass **** -ptype KRB5_NT_SRV_HST -out "C:\Documents and Settings\Administrator\bloodhound.kytab"
Run Code Online (Sandbox Code Playgroud)
我想在 apache 上使用它进行 SSO。我在 Windows Server 2003 r2 sp2 上创建这个
输出
Targeting domain controller: fezziwig.uk.domain.com
Using legacy password setting method
Successfully mapped HTTP/bloodhound.domain.com to ldaplookup.
WARNING: pType and account type do not match. This might cause problems.
Key created.
Output keytab to C:\Documents and Settings\Administrator.UK-GGS-DOMAIN\bloodhound.keytab:
Keytab version: 0x502
keysize 82 HTTP/bloodhound.domain.com@DOMAIN.COM …
Run Code Online (Sandbox Code Playgroud) windows-server-2008 kerberos single-sign-on apache-2.2 gssapi
gssapi ×5
kerberos ×4
apache-2.2 ×1
ldapmodule ×1
linux ×1
openldap ×1
postgresql ×1
putty ×1
sasl ×1
tortoisesvn ×1
windows ×1