我无法连接到运行 Ubuntu 16.04 的网络上的计算机。我永远陷入无休止的用户名和密码对话框循环中。
我可以通过 ssh 进入机器,并且可以使用 ssh://hostname/share 将其挂载到文件系统中。
我知道这个问题是重复的,但是已知的解决方案对我来说不起作用。
我尝试添加
client use spnego = no
到我的/etc/samba/smb.conf
文件,就在它所说的位置global
(第 29 行)下面。
这导致了不同的错误:
无法从服务器检索共享列表。连接超时。
smbclient //host/share -U <username>:
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
有任何想法吗?
我可以正常连接到网络上的服务器。目前唯一的问题似乎是 Mac 电脑。(我还没有尝试连接到 Windows 机器)。
我是 Ubuntu 新手,因此我不确定还能尝试什么。
答案1
我在使用 Xubuntu 16.04 和 Mac 10.11.6 时遇到了同样的问题。我能找到的最佳答案从 Ubuntu 访问 OS X 文件共享
如果使用 SMB,那么对于 El Capitan,Apple 最近实施了一项旨在增强安全性的新更改。这涉及签署所有网络数据包。一些 SMB 客户端无法应对此功能,尽管我希望运行最新版本 SAMBA4 的 Linux 机器能够应对。它可能需要在 SAMBA 中启用匹配选项。但是,可以通过执行以下操作在 Mac 服务器上关闭此功能。
sudo defaults write /Library/Preferences/SystemConfiguration/com.apple.smb.server SigningRequired false
和
写入以下内容/etc/nsmb.conf
[default]
signing_required=no
Apple 官方有一篇关于上述方法的指导文章这里。
但是,我仍然无法从我的 Linux 访问 Mac SMB 共享。
目前的解决方法是使用 AFP 协议和 Netatalk本指南
答案2
我找到了可行的解决方案来自 Apple 的讨论(涉及使用特定选项进行安装)
关键是“nounix,sec=ntlmssp”选项
因此,我必须安装
sudo mount.cifs //mac.server.address.ofcomputer /mnt/Mac -o nounix,sec=ntlmssp,username=myusername
答案3
对于smbclient
,你可能--option="ntlmssp_client:force_old_spnego = yes"
需要在 samba-technical 上建议邮件列表。
现在列出了 Mac OSX 服务器上的共享:
smbclient -U$user%$password -L $mac_osx_host --option="ntlmssp_client:force_old_spnego = yes"
对于安装,您可能需要添加nounix,sec=ntlmssp
这里建议的选项。
我不需要更改 Mac OS X 上的任何配置。
答案4
在 Mac 上:系统偏好设置->共享->选项:
- 选择“使用 SMB 共享文件和文件夹”。
- 在“Windows 文件共享列表”中选择您的用户。
看https://support.apple.com/en-au/guide/mac-help/mchlp1657/10.15/mac/10.15。
不知道为什么,但它对我的 macOS Catalina 和 Ubuntu 18.04 有效。