SSHFS使用实例

时间秒杀一切 提交于 2020-09-27 16:59:25

什么是SSHFS?

SSHFS是一个通过SSH连接到服务器的网络文件系统客户端

SSHFS允许您使用SFTP挂载远程文件系统。大多数VPS SSH服务器默认情况下都支持并启用此SFTP访问,因此SSHFS使用非常简单,无需在服务器端执行任何操作。

项目当前状态

SSHFS由所有主要的Linux发行版本提供,并且已经在多种系统上投入生产使用多年。但是,目前SSHFS没有任何活动的常规贡献者,并且存在许多已知问题(请参阅Bugtracker)。当前的维护者继续应用拉取请求并进行定期发布,但是不幸的是,除了解决高影响力的问题之外,它没有能力进行任何开发。报告错误时,请理解,除非您包含拉取请求或报告严重问题,否则您可能不会得到响应。

安装SSHFS

首先,从https://github.com/libfuse/sshfs/releases下载最新的SSHFS版本。在Linux和BSD上,您还需要安装libfuse 3.1.0或更高版本。在macOS上,您需要OSXFUSE。最后,您需要带有开发标头的Glib库(应该可以从操作系统的程序包管理器中获得)。

构建和安装,我们建议使用Meson(0.38版或更高版本)和Ninja。解压缩sshfs tarball之后,创建一个(临时)构建目录并运行Meson:

$ mkdir build; cd build
$ meson ..

通常,默认的构建选项可以正常工作。但是,如果您要调整它们,可以使用mesonconf命令进行:

$ mesonconf                  # list options
$ mesonconf -D strip=true # set an option

构建,测试和安装SSHFS,请使用Ninja(运行测试需要py.test Python模块):

$ ninja
$ python3 -m pytest test/ # optional, but recommended
$ sudo ninja install

CentOS安装sshfs简单方法

yum install -y epel-release
yum -y install fuse-sshfs

使用SSHFS

安装了sshfs后,运行它就非常简单:

sshfs [user@]hostname:[directory] mountpoint

建议以普通用户(而不是root)身份运行SSHFS。为此,mountpoint必须归用户所有。如果省略用户名,SSHFS将使用本地用户名。如果省略目录,SSHFS将挂载(远程)主目录。如果您需要输入密码,sshfs会要求您输入密码(实际上,它只是运行ssh,如果需要,它会要求输入密码)。

还可以指定许多ssh选项(请参见sftp(1)和ssh_config(5)的手册页),包括远程端口号(-oport=PORT)

卸载文件系统:

fusermount -u mountpoint

在BSD和macOS上,卸载文件系统:

umount mountpoint


本文分享自微信公众号 - unixetc(unixetc)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!