郑州鼎益 郑州鼎益 DINGYI INFO
基础使用2026-08-24约 9 分钟郑州鼎益技术团队 整理

SSHFS 挂载远程目录:只开 SSH 就能用的加密网络盘

CIFS、NFS、SSHFS 三种方式横向对比,sshfs 安装、密钥免密、自动挂载配置,以及 SFTP 子系统未启用导致连接被重置的排查。

SSHFSSFTP密钥加密传输
适用环境: Ubuntu/Debian 系列 Linux | 远程服务器:任意支持 SSH/SFTP 的系统
测试环境: 客户端 Ubuntu 24.04 (192.168.1.20) | NAS 192.168.1.10 (端口 22)
SSHFS 优势: 无需服务端额外配置,只需 SSH+SFTP 即可,加密传输,最简单的网络挂载方案

三种挂载方式对比

特性CIFS/SMBNFSSSHFS
服务端配置需开启 SMB 服务需开启 NFS 服务并配置导出只需 SSH+SFTP 开着
认证方式用户名+密码IP 认证SSH 密钥或密码
加密传输可选 (SMB3)默认不加密默认 SSH 加密
性能中等最高中等
跨平台Windows 原生Linux/Unix全平台
防火墙友好需开 445需开 2049复用 SSH 端口

完整操作步骤

安装 sshfs

# 安装 SSHFS 客户端工具
sudo apt update -y
sudo apt install -y sshfs

# 验证安装
which sshfs
# 输出: /usr/bin/sshfs
sshfs 依赖: FUSE (Filesystem in Userspace) 内核模块,Ubuntu 默认已加载

测试 SSH 和 SFTP 连接

# 测试 SSH 能否连接(密码: <你的密码>)
sshpass -p '<你的密码>' ssh -o StrictHostKeyChecking=no -p 22 nasadmin@192.168.1.10 echo ok

# 测试 SFTP 能否连接
echo ls | sshpass -p '<你的密码>' sftp -o StrictHostKeyChecking=no -p 22 nasadmin@192.168.1.10

# 查看远程目录内容
sshpass -p '<你的密码>' sftp -p 22 nasadmin@192.168.1.10 <<< 'ls'
重要: SSHFS 需要 SFTP 子系统 正常工作。如果 SFTP 连接失败(如 "Connection reset"),需要在 NAS 管理界面启用 SFTP 服务。

群晖 NAS 启用方法:控制面板 → 终端机和 SNMP → 终端机 → 勾选 启用 SFTP 服务
注意端口: 本例中 端口 22(非默认 22)。如果 NAS 同时开了 SSH 和 SFTP,端口可能不同,请确认实际端口号。

生成 SSH 密钥(推荐)

# 生成 SSH 密钥对(如果已有可跳过)
ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519 -N ''

# 将公钥复制到 NAS
ssh-copy-id -o StrictHostKeyChecking=no -p 22 -i ~/.ssh/id_ed25519.pub nasadmin@192.168.1.10

# 如果 ssh-copy-id 不支持指定端口,手动复制:
cat ~/.ssh/id_ed25519.pub
# 将输出的内容粘贴到 NAS 上的 ~/.ssh/authorized_keys 文件中

# 测试免密登录
ssh -o StrictHostKeyChecking=no -p 22 nasadmin@192.168.1.10 echo ok
# 输出: ok (无需输入密码)
为什么用密钥? SSHFS 挂载后,如果用密码认证,系统会频繁提示输入密码。密钥认证可以实现完全免交互。

创建挂载点

# 创建本地挂载目录
sudo mkdir -p /mnt/sshfs_xuantao

手动挂载测试

# 使用密钥认证挂载
sshfs nasadmin@192.168.1.10:/nasadmin /mnt/sshfs_xuantao \
    -o StrictHostKeyChecking=no,IdentityFile=~/.ssh/id_ed25519,port=152

# 或使用密码认证(需要安装 sshpass)
sshfs nasadmin@192.168.1.10:/nasadmin /mnt/sshfs_xuantao \
    -o StrictHostKeyChecking=no,port=152

# 验证挂载成功
df -h /mnt/sshfs_xuantao
# 输出: nasadmin@192.168.1.10:/nasadmin  3.5T  1.2T  2.4T  32%  /mnt/sshfs_xuantao

# 查看远程文件
ls /mnt/sshfs_xuantao/

卸载测试挂载

# 卸载
fusermount -u /mnt/sshfs_xuantao

# 如果 fusermount 失败,强制卸载
sudo umount -l /mnt/sshfs_xuantao

写入 /etc/fstab 永久挂载

# SSHFS 挂载需要使用 sshfs# 前缀格式
# 注意:SSHFS 使用 user,noauto,表示用户登录时挂载

echo 'sshfs#nasadmin@192.168.1.10:/nasadmin /mnt/sshfs_xuantao fuse StrictHostKeyChecking=no,IdentityFile=/home/xuan/.ssh/id_ed25519,port=152,_netdev,user,noauto 0 0' \
    | sudo tee -a /etc/fstab

# 验证 fstab 内容
cat /etc/fstab | grep sshfs
注意: SSHFS 在 fstab 中必须使用 user,noauto 选项,不能像 NFS/CIFS 那样在系统启动时自动挂载。SSHFS 挂载会在用户登录时自动触发。

测试永久挂载

# 先卸载之前的测试挂载
fusermount -u /mnt/sshfs_xuantao 2>/dev/null

# 以普通用户身份挂载(模拟登录时自动挂载)
sshfs nasadmin@192.168.1.10:/nasadmin /mnt/sshfs_xuantao \
    -o StrictHostKeyChecking=no,IdentityFile=/home/xuan/.ssh/id_ed25519,port=152

# 确认挂载成功
df -h /mnt/sshfs_xuantao
ls /mnt/sshfs_xuantao/
完成! SSHFS 挂载已配置好,使用密钥认证免密码。

SSHFS 挂载参数详解

参数说明
StrictHostKeyChecking=no自动接受远程主机密钥(首次连接)
IdentityFile=~/.ssh/id_ed25519指定 SSH 密钥文件
port=152SSH 端口号(默认 22)
reconnect断线自动重连
follow_symlinks跟随符号链接
allow_other允许其他用户访问挂载点
_netdev等待网络就绪
user,noauto用户登录时挂载(fstab 必需)
ServerAliveInterval=15发送心跳保活(秒)
推荐挂载参数组合:
-o StrictHostKeyChecking=no,reconnect,follow_symlinks,ServerAliveInterval=15

常用运维命令

# 查看已挂载的 SSHFS
mount | grep sshfs

# 卸载 SSHFS
fusermount -u /mnt/sshfs_xuantao

# 强制卸载
sudo umount -l /mnt/sshfs_xuantao

# 查看 SSHFS 连接状态
sshfs -V

# 调试模式挂载(查看详细日志)
sshfs -f -o debug nasadmin@192.168.1.10:/nasadmin /mnt/sshfs_xuantao -o port=152

常见错误排查

错误信息原因解决方法
Connection reset by peerSFTP 子系统未启用或被限流在 NAS 启用 SFTP;检查端口号
Permission deniedSSH 密钥未配置或密码错误用 ssh-copy-id 配置密钥
No such file or directory远程路径错误用 sftp 先确认正确路径
fuse: unknown option不支持的挂载参数检查 sshfs 版本,去掉不支持的参数
重启后挂载丢失fstab 中缺少 user,noauto确保 fstab 使用 sshfs# 格式
断线后无法访问网络不稳定添加 reconnect 参数

SSHFS vs NFS vs CIFS 选择建议

场景推荐方式原因
偶尔远程访问文件SSHFS无需服务端配置,即装即用
纯 Linux 高性能NFS协议开销最小,性能最好
Windows + Linux 混合CIFSWindows 原生支持
跨防火墙/公网SSHFS复用 SSH 端口,加密传输
高并发小文件NFS内核级支持,延迟最低
无需服务端管理SSHFS只需 SSH 账号即可

教程生成时间: 2026-09-11 | 环境: Ubuntu 24.04 + Synology NAS (端口 22)

本文整理自郑州鼎益技术资料《SSHFS_mount_tutorial》,公开发布前已做脱敏与校订 · 最后校订 2026-11-11

照着做还是没跑通?

把 NAS 型号、报错截图和现有网络拓扑发我们,郑州本地工程师可远程协助或上门部署。

免费咨询 →
← ABB Linux Agent 快速上手:安装、连 NAS、跑第一次备份全部文档内网正常、外网连不上 NAS:先查 DNS 和网络认证 →