Mac连接SMB共享失败常因钥匙串中残留错误凭据,需在“钥匙串访问”中定位并删除对应“互联网密码”条目(按IP、主机名或smb关键词搜索),再执行dscacheutil -flushcache和killall -HUP mDNSResponder刷新缓存,并重启Finder。
mac 上无法连接局域网共享(如 smb 文件服务器、nas 或 windows 共享文件夹),常因钥匙串中存有错误或过期的凭据——比如旧密码、已停用账户、大小写不一致的用户名,甚至带空格/特殊字符的无效条目。这些条目不会自动失效,会持续干扰连接流程,导致反复弹出认证框、提示“验证失败”或直接跳过输入环节却连接不上。
定位并删除错误的 SMB 共享凭据
局域网共享凭据在钥匙串中归类为「互联网密码」,但实际可能以多种方式存储:按服务器 IP、主机名(如 nas.local)、域名(如 smb://192.168.1.100)或服务类型(如 com.apple.networking.smb)命名。
- 打开「钥匙串访问」(Spotlight 搜索即可)
- 左侧选中「登录」钥匙串(不是 iCloud 或系统)
- 右上角搜索框输入以下任一关键词:
– 共享设备的 IP 地址(如 192.168.1.100)
– 主机名(如 nas、WORKGROUP、server)
– 完整 SMB 地址(如 smb://,注意斜杠不参与匹配,可只搜 smb)
– 关键字 SMB 或 com.apple.networking.smb - 逐个查看搜索结果中「种类」为「互联网密码」的条目,双击打开 → 勾选「显示密码」→ 输入 Mac 登录密码授权 → 核对「账户名称」和「密码」是否仍有效
- 确认无效后,点击窗口右下角「删除」按钮;或右键条目 →「删除」→ 确认
清理与 SMB 相关的其他残留凭证
有些 SMB 凭据不显示在常规搜索中,而是隐藏在系统级服务或旧版协议条目里:
- 搜索关键词:AFP(旧版 Apple 文件共享,有时与 SMB 混存)、WebDAV(部分 NAS 同时启用)、NTLM 或 Kerberos(企业环境常用认证协议)
- 特别检查「种类」为「密码」但「位置」字段含 IP 或主机名的条目(非「互联网密码」类型,也可能是 SMB 认证缓存)
- 若公司使用 802.1X 或证书认证的 Wi-Fi + SMB 联合访问,还需检查「系统」钥匙串中是否有同名证书被设为「从不信任」,这会影响整个链路握手
终端命令精准清除指定 SMB 凭据(进阶)
当图形界面搜不到、或需批量清理多个相似条目时,可用 security 命令直操作钥匙串:
- 列出所有含目标关键词的互联网密码:
security find-internet-password -s "192.168.1.100" -w 2>/dev/null || echo "未找到" - 删除指定条目(需完整匹配「安全域」字段,通常为服务器地址):
security delete-internet-password -s "192.168.1.100" -r "smb "
(注意 smb 后有一个空格,这是 macOS 内部标识 SMB 协议的固定值) - 若不确定安全域,先用
security dump-keychain login.keychain-db | grep -A5 -B5 "192.168.1.100"查看原始记录结构
连接前重置 SMB 缓存(关键收尾)
仅删钥匙串不够——macOS 会缓存 SMB 会话状态和服务器签名密钥,尤其在协议版本切换(如从 SMBv2 切到 SMBv3)后容易卡住:
- 打开终端,执行:
sudo dscacheutil -flushcache && sudo killall -HUP mDNSResponder - 重启 Finder:按住 Option 键右键 Dock 中的 Finder 图标 →「重新启动」
- 断开当前网络(Wi-Fi 或有线),再重连,确保底层网络栈刷新
- 重新在访达中「前往 → 连接服务器」,输入 smb://192.168.1.100(务必带协议头),此时应弹出全新认证框

















