在 SMBv2 上使用密碼過早關閉 SMB/CIFS 會話(系統錯誤 1312)
在嘗試向 NetApp 共享發出“淨使用”時,我遇到了一種非常獨特的情況。
特定使用者需要通過 CIFS 發出掃描,但是該使用者(具有完全讀/寫訪問權限)收到“系統錯誤 1312 已發生 - 指定的登錄會話不存在。它可能已被終止。”
這種情況需要以下命令:
net use \\ShareHostname\Share /user:DOMAIN\user /persistent:no [password]
下面的數據包擷取顯示了這種嘗試。
如果我發出相同的命令而沒有為目前登錄的使用者提供密碼(不同於所需的使用者並且只有讀取權限),則命令成功完成。
net use \\ShareHostName\Share /user:DOMAIN\user2 /persistent:no
當將應用程序從 Win2k3 框移動到同一域上的 Win2k8 時,會出現此問題。不會在新機器上進行身份驗證的帳戶確實可以在 Win2k3 機器上工作,這很有趣。
在檢查中,我驗證了兩台機器的 GPO“網路訪問:不允許儲存用於身份驗證的密碼和憑據”在兩台機器上都是“啟用”並且無法更改。
我真的在試圖縮小這個問題的範圍,並且非常感謝提示額外的故障排除步驟或可能的解決方案。
編輯:
- 兩個系統之間唯一觀察到的差異是通過 SMBv1 (Win2k3) 到 SMBv2 (Win2k8) 與 NetApp 的通信,顯然。然而,真正的區別在於,當為 SMBv2 提供密碼(無論使用者是什麼)時,會發生系統錯誤 1312。但是如果沒有提供密碼(對於目前登錄的使用者),那麼它將成功完成身份驗證。
不幸的是,對於這個問題並沒有真正的解決方案,因為 NetApp 確實與 Microsoft 一起為使用 SMBv2 或 SMBv3 的 Windows Server 2008 提供了一個案例。
此特定錯誤的唯一解決方法是讓網路管理員禁用“網路訪問:不允許儲存用於身份驗證的密碼和憑據”的 GPO 設置,這不是使用 NetApp 開立案例或在此處發布的初衷。
對於任何感興趣的人,NetApp 提供了以下內容:
錯誤編號: 837425
錯誤類型: CIFS
**說明:**在某些情況下,嘗試連接到 CIFS 共享失敗並顯示以下錯誤消息:“發生系統錯誤 1312。指定的登錄會話不存在。它可能已經終止。”
SMB 2 和 SMB 3 Windows 客戶端(如 Windows 7、Vista 和 Windows 8)會出現此問題。當連接到共享時指定憑據時會出現此問題,例如以下範例:
net use * \\server\share /user:domain\user password
在 Windows XP 等 SMB 1 客戶端上不會出現此問題,因此使用 SMB 1 客戶端連接共享是一種解決方法。但是,請注意,即使在 SVM 上禁用 SMB 2 和 SMB 3 並且客戶端使用 SMB 1 連接時,SMB 2 和 SMB 3 客戶端(如 Windows 7 和 Windows 8)仍會出現該問題。
**注意:**當錯誤 746314 的修復可用時,它將作為此問題的解決方法。