全新M1芯片Mac(OS 12.0.1)使用sshfs挂载时终端挂起的问题排查求助
解决M1 Mac上sshfs挂载终端挂起的问题
你的问题大概率是Apple Silicon(M1)架构与旧版sshfs/FUSE的兼容性问题,加上OS 12.0.1这个相对早期的Monterey版本,权限和架构适配的坑更多。下面是几个针对性的排查和解决步骤:
先去掉debug模式测试
你加了-d参数开启调试输出,在M1 Mac上这个模式可能会因为日志输出阻塞进程。先尝试执行不带-d的命令:sudo sshfs mayacc@myhost.com:/home/myacc ~/mnt如果能正常挂载,说明是debug模式的兼容性问题,后续挂载可以去掉这个参数。
检查FUSE扩展的系统权限
M1 Mac的安全性机制比Intel更严格,安装FUSE后需要手动授权:- 打开「系统偏好设置」→「安全性与隐私」→「通用」
- 查看是否有提示“来自开发者「Benjamin Fleischer」的系统软件已被阻止”,点击「允许」
- 重启终端后再尝试挂载命令
用Rosetta 2兼容模式运行终端
你的Intel Mac能正常运行,说明x86版本的sshfs没问题。M1上可以通过Rosetta 2模拟x86环境:- 找到「终端」App,右键选择「显示简介」
- 勾选「使用Rosetta打开」,重启终端
- 再次执行你的挂载命令,大概率能正常运行
升级sshfs/FUSE到适配Apple Silicon的版本
如果你是从官网下载的旧版本,可能是x86架构的原生包,没有适配ARM。建议用Homebrew安装原生ARM版本:- 确保你的Homebrew是Apple Silicon版本(安装路径为
/opt/homebrew,如果是/usr/local则是x86版本,需要重新安装) - 执行命令卸载旧版sshfs和FUSE,然后安装:
brew uninstall sshfs osxfuse brew install sshfs
安装完成后重新尝试挂载命令
- 确保你的Homebrew是Apple Silicon版本(安装路径为
添加额外挂载参数
某些情况下,M1 Mac需要额外参数来适配文件系统权限:sudo sshfs -o defer_permissions,allow_other mayacc@myhost.com:/home/myacc ~/mntdefer_permissions会把权限检查交给远程服务器,allow_other允许其他用户访问挂载目录,这两个参数能解决大部分M1上的权限阻塞问题
内容的提问来源于stack exchange,提问作者David Hodgkinson
相关产品推荐
相关产品推荐

