我正在尝试访问服务器上的共享。出现凭证框,我输入了正确的用户名和密码,但访问被拒绝。
愚蠢的是,我可以远程桌面到服务器(使用相同的凭据),我可以检查安全访问被拒绝错误的事件日志:
Event Type: Failure Audit
Event Source: Security
Event Category: Account Logon
Event ID: 681
Date: 3/19/2011
Time: 11:54:39 PM
User: NT AUTHORITY\SYSTEM
Computer: STALWART
Description:
The logon to account: Administrator
by: MICROSOFT_AUTHENTICATION_PACKAGE_V1_0
from workstation: HARPAX
failed. The error code was: 3221225578
和
Event Type: Failure Audit
Event Source: Security
Event Category: Logon/Logoff
Event ID: 529
Date: 3/19/2011
Time: 11:54:39 PM
User: NT AUTHORITY\SYSTEM
Computer: STALWART
Description:
Logon Failure:
Reason: Unknown user name or bad password
User Name: Administrator
Domain: stalwart
Logon Type: 3
Logon Process: NtLmSsp
Authentication Package: NTLM
Workstation Name: HARPAX
查找错误代码(3221225578
),我得到一个Technet 上的文章:
审计账户登录事件 作者:Randy Franklin Smith
...
表 1 - 事件 ID 681 的错误代码
Error Code Reason for Logon Failure 3221225578 The username is correct, but the password is wrong.
这似乎表明用户名正确,但密码错误。
我在不同的用户帐户上尝试过多次密码,大写、小写,在用户名前加上和不加上前缀servername\username
。
我无法通过文件共享访问服务器,但是我能通过 RDP 访问吗?
编辑:我尝试输入随机凭证(即用户名ramdom
:),只是为了确保我尝试连接到正确的服务器。服务器上的事件日志显示尝试失败:
Event Type: Failure Audit Event Source: Security Event Category: Logon/Logoff Event ID: 529 Date: 3/20/2011 Time: 8:40:28 AM User: NT AUTHORITY\SYSTEM Computer: STALWART Description: Logon Failure: Reason: Unknown user name or bad password User Name: random Domain: HARPAX Logon Type: 3 Logon Process: NtLmSsp Authentication Package: NTLM Workstation Name: HARPAX
编辑:尝试所有可能LAN 管理器身份验证级别(secpol.msc
-> 安全设置 -> 本地策略 -> 安全选项 -> LAN 管理器身份验证级别):
- 发送 LM 和 NTLM 响应:失败
- 发送 LM 和 NTLM - 如果协商成功则使用 NTLMv2 会话安全:失败
- 仅发送 NTLM 响应(默认):失败
- 仅发送 NTLMv2 响应:失败
- 仅发送 NTLMv2 响应\拒绝 LM:失败
- 仅发送 NTMLv2 响应\拒绝 LM 和 NTLM:失败
(客户端:Windows 7。服务器:Windows 2000 Server)
答案1
我找到了问题所在,它与两台机器的时钟设置有关:
Client: 3/20/2011 1:28:17 ᴘᴍ
Server: 3/20/2011 1:28:17 ᴘᴍ
在外行人看来,两个时钟的读数似乎相同。协商协议有一个限制,要求所有时钟之间的时间差在 15 分钟以内。这些时钟相差一小时。这是因为涉及的操作系统:
- 客户端:Windows 7
- 服务器:Windows 2000 Server
而且由于 Windows 2000 Server 不再受支持,其夏令时开始日期不再有效。因此两台机器上的时间实际上是:
Client: 3/20/2011 1:28:17 ᴘᴍ EDT
Server: 3/20/2011 1:28:17 ᴘᴍ EST
这是因为客户端已经(正确地)切换到夏令时,当服务器仍然处于开启状态时标准时间。这意味着客户端机器时钟比服务器时钟快一个小时 - 因此两者无法进行身份验证。
通常情况下,当两个时钟相差超过 15 分钟时,您会收到一条消息警告您这一情况。在这种情况下,时钟是同步的,因此不会出现警告。
概括:3221225578,Windows 2000,夏令时
与此同时,为了让事情正常运转,我已将服务器时钟恢复为慢一个小时 - 并且我会让“自然” DST 切换赶上来 - 并且交易将再次在正确的时间开始发生。
答案2
3221225578 (0xC000006A) 身份验证失败代码可能有多种原因。其中一个原因是 LMCompatibilityLevel 设置不匹配。如果服务器的配置比工作站更严格,这就是症状之一。
另外,测试时要小心。如果您的工作站设置为允许/低值,则将其增加到高值可能会导致其在启动时出现蓝屏(如果 dc 也设置为低/允许值),并且您可能需要使用“最后一次正确的”启动菜单选项进行恢复。
史上最容易被误解的 Windows 安全设置
http://technet.microsoft.com/en-us/magazine/2006.08.securitywatch.aspx