如何使用SSHFS通过SSH挂载远程目录

SSHFS(SSH文件系统)是基于FUSE的文件系统客户端,用于通过SSH连接安装远程目录。 SSHFS使用的是SFTP协议,它是SSH的子系统,并且在大多数SSH服务器上默认启用。

与其他网络文件系统协议(例如NFS和Samba)相比,SSHFS的优势在于它不需要在服务器端进行任何其他配置。 要使用SSHFS,您只需要通过SSH访问远程服务器即可。

由于SSHFS使用SFTP,因此必须对服务器和客户端之间传输的所有数据进行加密和解密。 与NFS相比,这导致性能略有下降,并且客户端和服务器上的CPU使用率更高。

本教程将向您展示如何在Linux,macOS和Windows上安装SSHFS客户端以及如何安装远程目录。

安装SSHFS

SSHFS软件包可用于所有主要操作系统,并且安装非常简单。

在Ubuntu和Debian上安装SSHFS#

SSHFS可从默认的Ubuntu和Debian存储库中获得。 通过输入以下内容更新软件包索引并安装sshfs客户端:

sudo apt updatesudo apt install sshfs

在CentOS上安装SSHFS#

在CentOS和其他Red Hat衍生产品上,运行以下命令来安装sshfs:

sudo yum install sshfs

在macOS上安装SSHFS#

macOS用户可以通过从osxfuse站点或通过Homebrew下载FUSE和SSHFS软件包来安装SSHFS客户端:

brew cask install osxfusebrew install sshfs

在Windows上安装SSHFS#

Windows用户需要安装两个软件包WinFsp和SSHFS-Win。

  • WinFsp。
  • SSHFS-Win。

挂载远程文件系统

以下说明适用于所有Linux发行版和macOS。

要安装远程目录,SSH用户需要能够访问它。 SSHFS mount命令采用以下形式:

sshfs [[email protected]]host:[remote_directory] mountpoint [options]

sshfs命令将读取SSH配置文件并按主机设置使用。 如果未指定远程目录,则默认为远程用户主目录。

例如,要在IP地址为“ 192.168.121.121”的远程主机上挂载名为“ linuxize”的用户的主目录,请首先创建一个目录作为挂载点,该目录可以是您想要的任何位置:

mkdir ~/linuxizeremote

然后使用sshfs命令挂载远程目录:

sshfs [email protected]:/home/linuxize /home/linuxize/linuxizeremote

系统将提示您输入用户密码。 为了避免每次安装远程目录时都键入密码,请生成SSH密钥并设置无密码SSH登录。

现在,您可以使用与本地文件相同的方式与位于远程服务器上的目录和文件进行交互。 例如,您可以编辑,删除,重命名或创建新文件和目录。

如果要永久挂载远程目录,则需要编辑本地计算机的 /etc/fstab 归档一个新的安装项。 这样,当系统启动时,它将自动安装远程目录。

通过SSHFS从以下目录挂载远程目录: /etc/fstab, 使用 fuse.sshfs 作为文件系统类型。

/ etc / fstab

[email protected]:/remote/dir  /local/mountpoint  fuse.sshfs  defaults  0  0

创建持久安装时,请确保您可以使用基于SSH密钥的身份验证连接远程主机。

在Windows上挂载远程文件系统#

Windows用户可以使用Windows资源管理器将网络驱动器映射到SSH服务器上的远程目录。

打开Windows资源管理器,右键单击“此PC”,然后选择“映射网络驱动器”。 选择要装入的驱动器,然后在“文件夹”字段中以以下格式输入远程用户,服务器和路径:

\[email protected][PATH]

在撰写本文时,SSHFS-Win不支持基于密钥的身份验证,因此需要将远程ssh服务器配置为接受基于密码的身份验证。

有关更多详细信息,请参阅SSHFS-Win手册。

卸载远程文件系统

要分离已挂载的文件系统,请使用 umount 要么 fusermount 命令,后跟安装目录(挂载点):

fusermount -u /local/mountpoint
umount /local/mountpoint

结论#

在本指南中,您学习了如何使用SSHFS通过SSH挂载远程目录。 当您要使用本地计算机应用程序与远程文件进行交互时,此功能很有用。

有关sshfs选项的完整列表,请键入 man sshfs 在您的终端中。

您可能还希望通过设置SFTP Chroot Jail环境并更改默认的SSH端口为用户添加额外的安全性,从而限制用户对其主目录的访问。

如果您有任何疑问或反馈,请随时发表评论。

ssh sftp安装终端

Sidebar