Ubuntu 16.04 中无法通过 smb 连接到 Mac 电脑

Ubuntu 16.04 中无法通过 smb 连接到 Mac 电脑

我无法连接到运行 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 有效。

相关内容