但我似乎无法让Putty(0.63)在没有密码的情况下进行身份验证.
GSSAPI在配置用于AD身份验证的Linux系统(openSSH客户端)之间工作,使用.ssh / config设置启用GSSAPI.
它也适用于Cygwin(openSSH客户端),使用相同的.ssh / config设置以及运行kinit命令来获取票证.
Samba也在所有Linux系统上共享,包括主目录在Windows资源管理器中运行而无需密码(我不确定GSSAPI是否在那里发挥作用)
我可以尝试哪种方法来解决这个问题?我的大多数用户都使用Putty.此外,我不是Windows管理员,因此我无法在域控制器上执行任何操作.我的帐户只有将服务器添加到AD域的权限.
我打开putty 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,type 20 / 0x14 (SSH2_MSG_KEXINIT) Event Log: Doing Diffie-Hellman group exchange Outgoing packet #0x1,type 30 / 0x1e (SSH2_MSG_KEX_DH_GEX_REQUEST) Incoming packet #0x1,type 31 / 0x1f (SSH2_MSG_KEX_DH_GEX_GROUP) Event Log: Doing Diffie-Hellman key exchange with hash SHA-256 Outgoing packet #0x2,type 32 / 0x20 (SSH2_MSG_KEX_DH_GEX_INIT) Incoming packet #0x2,type 33 / 0x21 (SSH2_MSG_KEX_DH_GEX_REPLY) Outgoing packet #0x3,type 21 / 0x15 (SSH2_MSG_NEWKEYS) Event Log: Initialised AES-256 SDCTR client->server encryption Event Log: Initialised HMAC-SHA1 client->server MAC algorithm Outgoing raw data at 2014-11-25 00:21:08 Incoming packet #0x3,type 21 / 0x15 (SSH2_MSG_NEWKEYS) Event Log: Initialised AES-256 SDCTR server->client encryption Event Log: Initialised HMAC-SHA1 server->client MAC algorithm Outgoing packet #0x4,type 5 / 0x05 (SSH2_MSG_SERVICE_REQUEST) Incoming packet #0x6,type 51 / 0x33 (SSH2_MSG_USERAUTH_FAILURE) ...%gssapi-keyex,gssapi-with-mic,password. Event Log: Using SSPI from SECUR32.DLL Event Log: Attempting GSSAPI authentication Outgoing packet #0x6,type 50 / 0x32 (SSH2_MSG_USERAUTH_REQUEST) Incoming packet #0x7,type 60 / 0x3c (SSH2_MSG_USERAUTH_GSSAPI_RESPONSE) Event Log: GSSAPI authentication initialised Outgoing packet #0x7,type 61 / 0x3d (SSH2_MSG_USERAUTH_GSSAPI_TOKEN) Incoming packet #0x8,type 61 / 0x3d (SSH2_MSG_USERAUTH_GSSAPI_TOKEN) Event Log: GSSAPI authentication initialised Event Log: GSSAPI authentication loop finished OK Outgoing packet #0x8,type 66 / 0x42 (SSH2_MSG_USERAUTH_GSSAPI_MIC) Incoming packet #0x9,password.
解决方法
[如果您还需要票证委派(例如,在登录后在服务器上安装kerberized文件系统),请确保在PuTTY中也启用了GSSAPI委派,并且您登录的服务器在“委派”选项卡中的Active Directory中标记为“相信这台计算机是为了授权
对于任何服务(仅限Kerberos)“,它们不是默认的.在AD中,后者的信任设置只需要委托从PuTTY等Windows客户端工作; Linux”ssh -K“客户端不需要它.
在不属于Active Directory域的自我管理(个人)Windows计算机上,您仍然可以通过PuTTY使用Kerberos / GSSAPI身份验证(和票证委派),但您必须自己获取票证.不幸的是,Windows 7没有安装任何等效的kinit程序(手动请求票证),如果您没有票证,PuTTY也不会提示您输入Kerberos密码.因此,您必须安装MIT Kerberos for Windows软件包,其中包括通常的kinit / klist / kdestroy命令行工具,以及一个简洁的GUI工具“MIT Kerberos Ticket Manager”.使用这些来获取您的票证,然后PuTTY将自动使用MIT GSSAPI库而不是Microsoft库,它应该都可以工作.如果“MIT Kerberos票证管理器”正在运行,当PuTTY需要票证时,它会自动提示您输入Kerberos密码,因此最好从Startup文件夹中链接它.