如何使用SSHFS挂载远程文件系统SSH以上

幸运的是,有一种方法,以您的VPS文件系统安装到本地计算机,这样就可以使动态变化和对待你的Droplet作为本地存储。

介绍


在许多情况下,将文件传送到Droplet和从Droplet传送文件可能变得麻烦。 想象一下开发应用场景,你在远程编写应用程序,并发现自己将脚本重复上传到虚拟服务器进行测试。 这可能会在很短的时间内变得相当麻烦。 幸运的是,有一种方法来将您的VPS文件系统安装到本地计算机,以便您可以进行更改,飞行和治疗您的Droplet作为本地存储。 在本文中,我们将向您展示如何做到这一点。

安装SSHFS


在Ubuntu / Debian


SSHFS是需要在本地计算机上安装的基于Linux的软件。 在基于Ubuntu和Debian的系统上,可以通过apt-get安装。

sudo apt-get install sshfs

在Mac OSX上


您可以在Mac OSX上安装SHFS。 您将需要从下载FUSE和SSHFS osxfuse网站

在Windows上


要在Windows中安装SSHFS,您需要从google代码存储库中获取最新的win-sshfs包。 直接下载链接可以在下面找到。 下载软件包后,双击以启动安装程序。 可能会提示您下载其他文件,如果是这样,安装程序将下载.NET Framework 4.0并为您安装。

https://win-sshfs.googlecode.com/files/win-sshfs-0.0.1.5-setup.exe

安装远程文件系统


以下说明将适用于Ubuntu / Debian和OSX。 有关Windows系统的说明,请参阅本教程底部。

要开始,我们需要创建一个本地目录,在其中安装Droplet的文件系统。

sudo mkdir /mnt/droplet <--replace "droplet" whatever you prefer

现在我们可以使用sshfs通过以下命令在本地装入文件系统。 如果您的VPS是使用密码登录创建的,以下命令将执行该操作。 在此步骤中,系统将要求您提供虚拟服务器的root密码。

sudo sshfs -o allow_other,defer_permissions root@xxx.xxx.xxx.xxx:/ /mnt/droplet

如果您的Droplet配置为通过ssh密钥授权登录,则需要通过以下命令告诉sshfs使用您的公钥。 您将被要求输入您在使用ssh-keygen创建密钥期间使用的密码。

sudo sshfs -o allow_other,defer_permissions,IdentityFile=~/.ssh/id_rsa root@xxx.xxx.xxx.xxx:/ /mnt/droplet

现在,您可以处理Droplet上的文件,就像它是连接到本地计算机的物理设备一样。 例如,如果您移动到本地计算机上的/ mnt / droplet目录,则可以在本地创建文件,并且该文件将显示在虚拟服务器上。 同样,您可以将文件复制到/ mnt / droplet文件夹,他们将被上传到您的Droplet在后台。

重要的是要注意,这个过程只提供临时安装点到你的Droplet。 如果虚拟服务器或本地计算机已关闭或重新启动,则需要使用相同的进程再次挂载。

卸载远程文件系统


当您不再需要安装点时,可以使用命令简单地卸载它

sudo umount /mnt/droplet

永久安装远程文件系统


SSHFS还允许设置到远程文件系统的永久安装点。 这将设置一个挂载点,将通过重新启动本地机器和Droplet持续。 为了建立一个永久性的安装点,我们需要编辑/etc/fstab文件的本地机器上的每个系统启动时自动挂载文件系统。

首先,我们需要编辑/etc/fstab使用文本编辑器文件。

sudo nano /etc/fstab

滚动到文件的底部并添加以下条目

sshfs#root@xxx.xxx.xxx.xxx:/ /mnt/droplet

将更改保存到/etc/fstab ,并在必要时重新启动。

应当注意,将VPS文件系统永久安装在本地是一种潜在的安全风险。 如果您的本地机器受损,它允许直接路由到你的Droplet。 因此,不建议在生产服务器上设置永久安装。

使用Win-SSHFS在Windows上装载远程文件系统


启动win-sshfs程序后,您将看到一个图形界面,使安装远程文件共享的过程变得简单。

  • 第1步:单击窗口左下角的添加按钮。

  • 第2步:在“驱动器名称”字段中输入文件共享的名称。

  • 第3步.在主机字段中输入Droplet的IP。

  • 第4步.输入SSH端口。 (保留为端口22,除非您手动更改了SSH端口)。

  • 第5步.在Username(用户名)字段中输入用户名。 (除非你手动设置用户帐户,你将进入root在这一领域)。

  • 第6步.在密码字段中输入SSH密码。 (注意在Windows上,您需要为您的Droplet配置密码登录,而不是ssh-key-authentication)。

  • 第7步.在“目录”字段中输入所需的安装点。 (输入/挂载从根文件系统,同样可以输入/var/www~/你的home目录)。

  • 第8步.选择要Windows使用的驱动器盘符,用于Droplet文件系统。

  • 第9步.单击Mount按钮连接到Droplet并安装文件系统。

现在,您的虚拟服务器的文件系统将可通过我的电脑作为您在第8步中选择的驱动器号。

远程安装点的使用


远程安装的行为类似于本地安装的存储:您可以创建,复制,移动,编辑,压缩或执行您将能够在Droplet上执行的任何文件系统操作,但是您无法启动程序或脚本远程服务器。

一个典型的用法是,如果您在您的VPS上托管一个网站,并需要定期更改网站。 在本地安装文件系统允许您启动任何希望编辑站点的代码编辑器,IDE或文本编辑器,并且所做的任何更改将在本地计算机上生成后立即反映在虚拟服务器上。

类似地,在用于编码项目的测试目的的Droplet上,它允许更简单的代码修改,其可以被立即测试,而不需要在本地以及远程地修改代码(并且消除了为小代码上传新文件副本的麻烦变化)。