一、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
代码语言:javascript复制brew install gromgit/fuse/sshfs-mac
2.设置 SSH 密钥认证 MAC 执行
代码语言:javascript复制ssh-keygen -t rsa
ssh-copy-id -p 22 root@ip
3.配置挂载目录 Centos 执行
代码语言:javascript复制mkdir -p /data/share
MAC 执行
代码语言:javascript复制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。 在编码场景下需频繁变更文件,笔者经体验感觉比较一般,不过网络条件好的同学可以浅尝一下。