SSHFS 是什么

SSHFS(SSH Filesystem)允许通过 SSH 挂载远程服务器上的文件系统到本地目录,这样可以像操作本地文件一样操作远程服务器文件。

典型场景:远程工作、共享资源、临时访问、流媒体。

场景体验

本机:macOS Sonoma 14.4.1
远程:CentOS Linux 8.4.2105

1.MAC 安装 SSHFS 和依赖软件 macFUSE
安装 macFUSE(下载 macfuse-4.7.2.dmg):https://github.com/osxfuse/osxfuse/releases
安装 SSHFS

brew install gromgit/fuse/sshfs-mac

2.设置 SSH 密钥认证
MAC 执行

ssh-keygen -t rsa
ssh-copy-id -p 22 root@ip

3.配置挂载目录
Centos 执行

mkdir -p /data/share

MAC 执行

mkdir -p /Users/zhangsan/Desktop/remoteshare
sshfs -p 22 root@ip:/data/share /Users/zhangsan/Desktop/remoteshare

通过以上步骤,即可将服务器的 /data/share 挂载到本地的 /Users/zhangsan/Desktop/remoteshare 进行操作。

缺点

1.性能问题:SSHFS 性能受限于网络速度和延迟。如果编辑大型文件或需要频繁读写操作,可能会导致明显延迟;
2.工具兼容性:一些开发工具和 IDE 可能不支持通过网络文件系统工作,或在这种环境下表现不佳;
3.文件锁定和同步问题:在多人同时编辑同一文件时,SSHFS 可能不会像其他版本控制系统那样有效地处理文件锁定和冲突解决。(关于冲突问题了解到 Unison 工具,能实现双向同步并且带冲突解决机制,后续再体验整理)

总结

基于上述了解,可总结为:中小型文件、文件变更频率不高的场景,适合使用 SSHFS。
在编码场景下需频繁变更文件,笔者经体验感觉比较一般,不过网络条件好的同学可以浅尝一下。

文章目录