linux服务器使用SSHFS挂载远程linux服务器的磁盘目录
linux服务器使用SSHFS挂载远程linux服务器的磁盘目录
使用前需要注意的问题:
1.两台服务器之间ping不可太高,越低越好
2.两台服务器直连网络要稳定,延时抖动越低越好
3.请认准服务器操作系统,不同操作系统命令不同,下方命令后会有备注系统
本文目录
- 1. 什么是 SSHFS?
- 2. 步骤 1:在 Linux 系统上安装 SSHFS
- 3. 步骤 2:创建 SSHFS 挂载目录
- 4. 步骤 3:使用 SSHFS 挂载远程的文件系统
- 5. 步骤 4:验证远程的文件系统挂载成功
- 6. 步骤 5:使用 df -hT 命令检查挂载点
- 7. 步骤 6:永久挂载远程文件系统
- 8. 步骤 7:卸载远程的文件系统
什么是 SSHFS?
SSHFS(Secure SHell FileSystem)是一个客户端,知识兔可以让我们通过 SSH 文件传输协议(SFTP)挂载远程的文件系统并且知识兔在本地机器上和远程的目录和文件进行交互。
SFTP 是一种通过 SSH 协议分享文件访问、文件传输和文件管理功能的安全文件传输协议。因为 SSH 在网络中从一台电脑到另一台电脑传输文件的时候使用数据加密通道,并且知识兔 SSHFS 内置在 FUSE(用户空间的文件系统)内核模块,允许任何非特权用户在不修改内核代码的情况下创建他们自己的文件系统。
在这篇文章中,我们将会向你展示在任意 Linux 发行版上如何安装并且知识兔使用 SSHFS 客户端,在本地 Linux 机器上挂载远程的 Linux 文件系统或者目录。
步骤 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.jpgcmslogs gmd-latest.sql.tar.bz2 Malware newsletter1.html sshdallowepel-release-6-5.noarch.rpm json-1.2.1 movies_list.php pollbeta.sqlffmpeg-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 onudev devtmpfs 730M 0 730M 0% /devtmpfs tmpfs 150M 4.9M 145M 4% /run/dev/sda1 ext4 31G 5.5G 24G 19% /tmpfs tmpfs 749M 216K 748M 1% /dev/shmtmpfs tmpfs 5.0M 4.0K 5.0M 1% /run/locktmpfs tmpfs 749M 0 749M 0% /sys/fs/cgrouptmpfs tmpfs 150M 44K 150M 1% /run/user/1000tecmint@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
下载仅供下载体验和测试学习,不得商用和正当使用。
[ppwp passwords=”zhishitu.cn”]
下载体验
应版权要求,禁止分享,敬请谅解,有问题务必找客服哈。
有问题找客服哈,并领取学习福利!
[/ppwp]