通过 smbclient 连接 Windows SMB 共享,但无法通过 mount.cifs 挂载

通过 smbclient 连接 Windows SMB 共享,但无法通过 mount.cifs 挂载

我正在尝试从 CentOS6 主机访问 Windows Server 2019 共享(域内)。

我可以通过 smbclient 浏览共享,但是挂载失败:

Status code returned 0xc000006d NT_STATUS_LOGON_FAILURE CIFS VFS: Send error in SessSetup = -13 CIFS VFS: cifs_mount failed w/return code = -13

在 Windows 方面,它抱怨以下内容(来自事件查看器):

An account failed to log on.

Subject:
                Security ID:                            NULL SID
                Account Name:                     -
                Account Domain:                  -
                Logon ID:                               0x0

Logon Type:                                          3

Account For Which Logon Failed:
                Security ID:                            NULL SID
                Account Name:                    [USER]
                Account Domain:                  [DOMAIN]

Failure Information:
                Failure Reason:                      Unknown user name or bad password.
                Status:                                    0xC000006D
                Sub Status:                            0xC000006A

Process Information:
                Caller Process ID:  0x0
                Caller Process Name:           -

Network Information:
                Workstation Name:              \\[IP]
                Source Network Address:    [IP]
                Source Port:                          46041

Detailed Authentication Information:
                Logon Process:                     NtLmSsp 
                Authentication Package:     NTLM
                Transited Services:                -
                Package Name (NTLM only):              -
                Key Length:                           0

但是,凭证绝对正确——我也尝试创建一个全新的用户,但出现了同样的错误。

我不太清楚如何诊断这个问题——如果能得到帮助我将非常感激。

谢谢!

答案1

您安装的 samba 是什么版本?
查询方式:rpm -qa | grep samba 确保您已安装 samba4。

我假设问题与客户端在连接时尝试使用的 SMB 协议版本有关。SMB 版本 1 现在在 Windows Server 2019 上默认禁用。我不建议启用它。

这是添加调试的示例。重点关注 -d10 选项。

smbclient -U user //10.0.0.20/shares password -d10
请注意,要使用加密传输连接到 Windows 2012 服务器,需要选择 SMB3 的最大协议。
smbclient -m SMB3 -U user //10.0.0.20/shares password -d10

找出您在 Windows 文件服务器上运行的 SMB 版本。默认情况下,SMBv1 可能被禁用 。在服务器上的 powershell 中
运行: 。这将为您提供 smb 服务器信息。Get-SmbServerConfiguration

在powershell中运行Get-SmbConnection,查看服务器上的当前连接数
PS C:\Windows\system32> Get-SmbConnection

PS C:\Windows\system32> Get-SmbConnection

ServerName ShareName UserName      Credential    Dialect NumOpens
---------- --------- --------      ----------    ------- --------
localhost  IPC$      TEST\bit      TEST\bit      3.1.1   0

查看故障排除信息https://docs.microsoft.com/en-us/windows-server/storage/file-server/troubleshoot/detect-enable-and-disable-smbv1-v2-v3

尝试 cifs 客户端
查看 SMB 版本https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/storage_administration_guide/mounting_an_smb_share

相关内容