使用SSHFS文件系统远程挂载目录
SSHFS(SSH Filesystem)是一个基于FUSE的文件系统客户端,用于通过SSH连接远程目录。SSHFS使用的是SFTP协议,它是SSH的一个子系统,在大多数SSH服务器上默认启用
简介
SSHFS(SSH Filesystem)是一个基于FUSE的文件系统客户端,用于通过SSH连接远程目录。SSHFS使用的是SFTP协议,它是SSH的一个子系统,在大多数SSH服务器上默认启用
与其他网络文件系统(如NFS和Samba)相比,SSHFS的优势在于它不需要在服务器端进行任何额外的配置。要使用SSHFS,您只需要SSH访问远程服务器。
系统环境
Cetnos7.7
Windows10
安装
Centos安装SSHFS
[root@localhost ~]# yum -y install epel-release && yum -y install sshfs
Windows10安装SSHFS
需要安装最新版本的WinFsp和SSHFS-Win,
WinFsp下载地址:https://github.com/billziss-gh/winfsp/releases/
SSHFS-Win下载地址:https://github.com/billziss-gh/sshfs-win/releases
在Centos中挂载远程文件系统
SSHFS使用格式:
sshfs [user@]host:[dir] mountpoint [options]
如果没有指定远程目录,默认会连接用户的家目录。
例如,远程主机需要访问root的家目录,在这里使用root用户远程访问。挂载点这里使用/mnt文件夹。
[root@localhost ~]# sshfs root@192.168.0.105: /mnt
root@192.168.0.105's password:

系统将提示您输入用户密码。为了避免每次装载远程目录时键入密码,可以生成SSH密钥并设置无密码登录。
如果需要开机自动挂载,可以在/etc/fstab文件中添加:
[root@localhost ~]# echo 'root@192.168.0.105:/Shares /mnt fuse.sshfs defaults 0 0'>> /etc/fstab
前提是需要设置无密码登录,不然开机不能挂载。
卸载远程文件系统
[root@localhost ~]# fusermount -u /mnt/
或者
[root@localhost ~]# umount /mnt
在Windows10中挂载远程文件系统
默认添加的远程目录是用户的家目录。
右键此电脑 - 映射网络驱动器


如果需要远程挂载根目录,可以如下操作:


总结
由于SSHFS使用SSH协议,所以服务器和客户端之间传输的所有数据都必须加密和解密。与NFS相比,这会导致性能略有下降,并且客户端和服务器上的CPU使用率更高。sshfs可以临时用来访问远程文件。