我一直致力于使用smbcilent在客户端计算机和服务器之间传输文件的文件服务器产品。到目前为止,我们的LAMP(Ubuntu)服务器和Windows机器一直运行良好。
我目前正在尝试将设置扩展为包含Mac,但是在服务器上访问Mac上的共享时遇到了问题。
这是我的命令和错误(括号内的描述取代了私人信息):
# smbclient //10.101.0.7/[share-file] -U [username]%[password] -c ls
WARNING: The "syslog" option is deprecated
NTLMSSP packet check failed due to short signature (0 bytes)!
NTLMSSP NTLM2 packet check failed due to invalid signature!
session setup failed: NT_STATUS_ACCESS_DENIED
我尝试过的事情:
✓使用Windows机器访问共享以确保共享设置正确 - 检查!在那里工作得很好。
✓在命令中调用-S off
或--signing=off
- 无变化。
✓首先使用smbclient -L 10.101.0.7 -U [username]%[password]
查看共享 - 同样的错误。
✓谷歌搜索答案 - 检查!有几个人有类似的问题,但到目前为止还没有可行的解决方案。
到目前为止,我看到的最有希望的事情是从源代码编译smbclient 4.4并在没有身份验证的情况下运行它(-U ""%""
),但这似乎是一个基于bug的临时解决方案而不是一个可靠的计划会工作很长时间。 (但如果我找不到更好的想法,我会尝试下一步......)
感谢阅读并尝试提供帮助!
答案 0 :(得分:2)
尝试将--option="ntlmssp_client:force_old_spnego = yes"
作为suggested on the samba-technical邮件列表添加到smbclient
命令。
对我来说,现在列出了Mac OSX服务器上的共享:
smbclient -U$user%$password -L $mac_host --option="ntlmssp_client:force_old_spnego = yes"
要进行安装,您可能需要添加{/ 1}}选项,如
nounix,sec=ntlmssp