前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >通过SSHFS远程挂载文件夹,方便远程coding!

通过SSHFS远程挂载文件夹,方便远程coding!

原创
作者头像
黑色技术
发布2018-07-27 16:40:33
26.5K0
发布2018-07-27 16:40:33
举报
文章被收录于专栏:云计算教程系列

通过SSHFS远程挂载文件,方便远程coding!

介绍

很多情况下,从服务器传输文件会得很麻烦。想象一下开发使用场景,您正本地为服务器编写软件,并自己将脚本重复上传到服务器进行测试。这可能会变得非常麻烦。但是,有一种方法可以将VPS文件系统挂载到本地计算机上,这样您就可以动态地进行更改并将您的服务器的文件。在本文中,我们将向您展示如何做到这一点。

安装SSHFS

在Ubuntu / Debian上安装

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

代码语言:javascript
复制
sudo apt-get install sshfs

在Mac OSX上安装

您可以在Mac OSX上安装SSHFS。您需要从这里下载FUSE和SSHFS

在Windows上安装

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

下载地址:https://github.com/feo-cz/win-sshfs/releases

挂载远程文件系统

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

首先,我们需要创建一个本地目录来安装服务器的文件系统。

代码语言:javascript
复制
sudo mkdir /mnt/droplet <--replace "droplet" whatever you prefer

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

代码语言:javascript
复制
sudo sshfs -o allow_other,defer_permissions root@xxx.xxx.xxx.xxx:/ /mnt/droplet

如果您的服务器配置为通过ssh密钥授权进行登录,则需要告诉sshfs命令使用您的公钥。系统会要求您输入在使用ssh-keygen创建密钥期间使用的密码。

代码语言:javascript
复制
sudo sshfs -o allow_other,defer_permissions,IdentityFile=~/.ssh/id_rsa root@xxx.xxx.xxx.xxx:/ /mnt/droplet

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

请务必注意,此过程仅为您的服务器提供临时挂载点。如果虚拟服务器或本地计算机已关闭或重新启动,则需要使用相同的过程再次挂载它。

卸载远程文件系统

当您不再需要安装点时,您只需使用该命令卸载它即可

代码语言:javascript
复制
sudo umount /mnt/droplet

永久挂载远程文件系统

SSHFS还允许为远程文件系统设置永久挂载点。这将设置一个挂载点,就算你重新启动本地计算机和服务器它也持续存在。为了设置永久挂载点,我们需要编辑本地计算机上/etc/fstab文件,以便在每次启动系统时自动挂载文件系统。

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

代码语言:javascript
复制
sudo nano /etc/fstab

添加以下条目

代码语言:javascript
复制
sshfs#root@xxx.xxx.xxx.xxx:/ /mnt/droplet

保存对/etc/fstab文件的更改并在重新启动。

应该注意的是,在本地永久安装VPS文件系统存在潜在的安全风险。如果您的本地计算机受到攻击,它可能会直接感染到您的服务器。因此,建议不要在生产服务器上设置永久挂载。

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

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

  • 步骤一:单击窗口左下角的“添加”按钮。
  • 步骤二:在“驱动器名称”字段中输入文件共享的名称。
  • 步骤三:在主机字段中输入您的服务器的IP。
  • 步骤四:输入您的SSH端口。(除非您手动更改了SSH端口,否则保留为端口22)。
  • 步骤五:在“用户名”字段中输入您的用户名。(除非您手动设置了用户帐户,否则您将root在此字段中输入)。
  • 步骤六:在密码字段中输入您的SSH密码。(请注意,在Windows上,您需要为密码登录配置服务器,而不能使用密钥)。
  • 步骤七:在“目录”字段中输入所需的安装点。(输入/从root用户安装文件系统。同样,您可以输入/var/www~/用于您的主目录)。
  • 步骤八:选择您希望Windows用于服务器文件系统的驱动器号。
  • 步骤九:单击“Mount”按钮以连接到服务器并挂载文件系统。

现在,您的虚拟服务器文件系统将通过“我的电脑”作为您在步骤八中选择的驱动器号提供。

远程挂载点的用法

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

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

类似地,在用于编码项目的测试环境在服务器上,它允许非常简易的代码修改,可以立即测试而无需在本地和远程修改代码。


参考文献:《How To Use SSHFS to Mount Remote File Systems Over SSH》

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 通过SSHFS远程挂载文件,方便远程coding!
    • 介绍
      • 安装SSHFS
        • 在Ubuntu / Debian上安装
        • 在Mac OSX上安装
        • 在Windows上安装
      • 挂载远程文件系统
        • 卸载远程文件系统
        • 永久挂载远程文件系统
      • 使用Win-SSHFS在Windows上挂载远程文件系统
        • 远程挂载点的用法
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档