这篇文章主要介绍了Linux下如何使用SSHFS挂载远程文件系统,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
SSHFS是一个通过SSH连接到服务器的网络文件系统客户端。SSHFS允许您使用SFTP挂载远程文件系统。大多数VPS SSH服务器默认情况下都支持并启用此SFTP访问,因此SSHFS使用非常简单,无需在服务器端执行任何操作。
步骤1:在 Linux 系统上安装 SSHFS
默认情况下,sshfs 包不存在所有的主流 Linux 发行版中,你需要在你的 Linux 系统中启用 epel,在 Yum 命令行的帮助下安装 SSHFS 及其依赖。
# yum install sshfs# dnf install sshfs 【在 Fedora 22+ 发行版上】$ sudo apt-get install sshfs 【基于 Debian/Ubuntu 的系统】
步骤2:创建 SSHFS 挂载目录
当你安装 SSHFS 包之后,你需要创建一个挂载点目录,在这儿你将要挂载你的远程文件系统。例如,我们在 /mnt/tecmint 下创建挂载目录。
# mkdir /mnt/tecmint$ sudo mkdir /mnt/tecmint 【基于 Debian/Ubuntu 的系统】
步骤 3:使用 SSHFS 挂载远程的文件系统
当你已经创建你的挂载点目录之后,现在使用 root 用户运行下面的命令行,在 /mnt/tecmint 目录下挂载远程的文件系统。视你的情况挂载目录可以是任何目录。
下面的命令行将会在本地的 /mnt/tecmint 目录下挂载一个叫远程的一个 /home/tecmint 目录。(不要忘了使用你的 IP 地址和挂载点替换 x.x.x.x)。
# sshfs tecmint@x.x.x.x:/home/tecmint/ /mnt/tecmint$ sudo sshfs -o allow_other tecmint@x.x.x.x:/home/tecmint/ /mnt/tecmint 【基于 Debian/Ubuntu 的系统】
如果你的 Linux 服务器配置为基于 SSH 密钥授权,那么你将需要使用如下所示的命令行指定你的公共密钥的路径。
# sshfs -o IdentityFile=~/.ssh/id_rsa tecmint@x.x.x.x:/home/tecmint/ /mnt/tecmint$ sudo sshfs -o allow_other,IdentityFile=~/.ssh/id_rsa tecmint@x.x.x.x:/home/tecmint/ /mnt/tecmint 【基于 Debian/Ubuntu 的系统】
步骤 4:验证远程的文件系统挂载成功
如果你已经成功的运行了上面的命令并且没有任何错误,你将会看到挂载在 /mnt/tecmint 目录下的远程的文件和目录的列表
# cd /mnt/tecmint# ls[root@ tecmint]# ls12345.jpg ffmpeg-php-0.6.0.tbz2 Linux news-closeup.xsl s3.jpg cmslogs gmd-latest.sql.tar.bz2 Malware newsletter1.html sshdallow epel-release-6-5.noarch.rpm json-1.2.1 movies_list.php pollbeta.sql ffmpeg-php-0.6.0 json-1.2.1.tgz my_next_artical_v2.php pollbeta.tar.bz2
步骤 5:使用 df -hT 命令检查挂载点
如果你运行 df -hT命令,你将会看到远程文件系统的挂载点。
# df -hT
样本输出:
Filesystem Type Size Used Avail Use% Mounted on udev devtmpfs 730M 0 730M 0% /dev tmpfs tmpfs 150M 4.9M 145M 4% /run /dev/sda1 ext4 31G 5.5G 24G 19% / tmpfs tmpfs 749M 216K 748M 1% /dev/shm tmpfs tmpfs 5.0M 4.0K 5.0M 1% /run/lock tmpfs tmpfs 749M 0 749M 0% /sys/fs/cgroup tmpfs tmpfs 150M 44K 150M 1% /run/user/1000 tecmint@192.168.0.102:/home/tecmint fuse.sshfs 324G 55G 253G 18% /mnt/tecmint
步骤 6:永久挂载远程文件系统
为了永久的挂载远程的文件系统,你需要修改一个叫 /etc/fstab
的文件。照着做,使用你最喜欢的编辑器打开文件。
# vi /etc/fstab$ sudo vi /etc/fstab 【基于 Debian/Ubuntu 的系统】
移动到文件的底部并且添加下面的一行,保存文件并退出。下面条目表示使用默认的设置挂载远程的文件系统。
sshfs#tecmint@x.x.x.x:/home/tecmint/ /mnt/tecmint fuse.sshfs defaults 0 0
确保服务器之间允许 SSH无密码登录,这样系统重启之后才能自动挂载文件系统。
如果你的服务器配置为基于 SSH 密钥的认证方式,请加入如下行:
sshfs#tecmint@x.x.x.x:/home/tecmint/ /mnt/tecmint fuse.sshfs IdentityFile=~/.ssh/id_rsa defaults 0 0
接下来,你需要更新 fstab 文件使修改生效。
# mount -a$ sudo mount -a 【基于 Debian/Ubuntu 的系统】
步骤 7:卸载远程的文件系统
为了卸载远程的文件系统,只需要发出以下的命令即可。
# umount /mnt/**tecmint**