通过 SSH 挂载远程的 Linux 文件系统或者目录--SSHFS

  • -什么是 SSHFS?

  • -步骤 1:在 Linux 系统上安装 SSHFS

  • -步骤 2:创建 SSHFS 挂载目录

  • -步骤 3:使用 SSHFS 挂载远程的文件系统

  • -步骤 4:验证远程的文件系统挂载成功

  • -步骤 5:使用 df -hT 命令检查挂载点

  • -步骤 6:永久挂载远程文件系统

  • -步骤 7:卸载远程的文件系统

通过 Linux 系统中的一个安装了 SSHFS 客户端进行实际测试,并且成功的挂载了远程的文件系统

什么是 SSHFS?

SSHFS(Secure Shell FileSystem)是一个客户端,可以通过 SSH 文件传输协议(SFTP)挂载远程的文件系统并且在本地机器上和远程的目录和文件进行交互。

SFTP 是一种通过 SSH 协议提供文件访问、文件传输和文件管理功能的安全文件传输协议。因为 SSH 在网络中从一台电脑到另一台电脑传输文件的时候使用数据加密通道,并且 SSHFS 内置在 FUSE(用户空间的文件系统)内核模块,允许任何非特权用户在不修改内核代码的情况下创建他们自己的文件系统。

下面将会演示在任意 Linux 发行版上如何安装并且使用 SSHFS 客户端,在本地 Linux 机器(server1)上挂载远程的 Linux (192.168.151.130)文件系统或者目录。

步骤 1:在 Linux 系统上安装 SSHFS

默认情况下,sshfs 包不存在所有的主流 Linux 发行版中,需要在 Linux 系统中启用 epel 仓库,在 Yum 命令行的帮助下安装 SSHFS 及其依赖。

[root@server1 ~]# yum update

[root@server1 ~]# yum install sshfs

步骤 2:创建 SSHFS 挂载目录

安装 SSHFS 包之后,需要创建一个挂载点目录,在这儿将要挂载远程文件系统。例如,在 /mnt/test 下创建挂载目录。

[root@server1 ~]# mkdir /mnt/test

步骤 3:使用 SSHFS 挂载远程的文件系统

当已经创建挂载点目录之后,现在使用 root 用户运行下面的命令行,在 /mnt/test 目录下挂载远程的文件系统。视需要挂载目录可以是任何目录。

下面的命令行将会在本地的 /mnt/test 目录下挂载一个叫远程的一个 /datatest 目录。

[root@server1 ~]# sshfs root@192.168.151.130:/datatest/ /mnt/test/

如果 Linux 服务器配置为基于 SSH 密钥授权,那么需要使用如下所示的命令行指定公共密钥的路径。

[root@server1 ~]#  sshfs -o IdentityFile=~/.ssh/id_rsa root@192.168.151.130:/datatest /mnt/test

步骤 4:验证远程的文件系统挂载成功

如果已经成功的运行了上面的命令并且没有任何错误,将会看到挂载在 /mnt/test 目录下的远程的文件和目录的列表

[root@server1 ~]# ls /mnt/test/

a

[root@server1 ~]# cat /mnt/test/a 

this is a test file from server2

步骤 5:使用 df -hT 命令检查挂载点

运行 df -hT命令,会看到远程文件系统的挂载点

[root@server1 ~]# df -hT

文件系统                        类型        容量  已用  可用 已用% 挂载点

/dev/mapper/centos-root         xfs          18G  1.4G   17G    8% /

devtmpfs                        devtmpfs    479M     0  479M    0% /dev

tmpfs                           tmpfs       489M     0  489M    0% /dev/shm

tmpfs                           tmpfs       489M  6.7M  482M    2% /run

tmpfs                           tmpfs       489M     0  489M    0% /sys/fs/cgroup

/dev/sda1                       xfs         497M  174M  323M   35% /boot

tmpfs                           tmpfs        98M     0   98M    0% /run/user/0

root@192.168.151.130:/datatest/ fuse.sshfs   18G  1.2G   17G    7% /mnt/test

步骤 6:永久挂载远程文件系统

为了永久挂载远程的文件系统,需要修改一个叫 /etc/fstab 的文件。

vi /etc/fstab 在底部添加以下设置,意为使用默认的设置挂载远程的文件系统。

sshfs#root@192.168.151.130:/datatest/ /mnt/test fuse.sshfs defaults 00

确保服务器之间允许 SSH 无密码登录,这样系统重启之后才能自动挂载文件系统。

如果服务器配置为基于 SSH 密钥的认证方式,请加入如下行:

sshfs#root@192.168.151.130:/datatest/  /mnt/test fuse.sshfs IdentityFile=~/.ssh/id_rsa defaults 00

然后更新 fstab 文件使修改生效

[root@server1 ~]# mount -a

步骤 7:卸载远程的文件系统

若要卸载远程的文件系统,只需要发出以下的命令即可。

[root@server1 ~]# umount /mnt/test

[root@server1 ~]# df -hT

文件系统                类型      容量  已用  可用 已用% 挂载点

/dev/mapper/centos-root xfs        18G  1.4G   17G    8% /

devtmpfs                devtmpfs  479M     0  479M    0% /dev

tmpfs                   tmpfs     489M     0  489M    0% /dev/shm

tmpfs                   tmpfs     489M  6.7M  482M    2% /run

tmpfs                   tmpfs     489M     0  489M    0% /sys/fs/cgroup

/dev/sda1               xfs       497M  174M  323M   35% /boot

tmpfs                   tmpfs      98M     0   98M    0% /run/user/0

更多Linux发行版支持请移步

https://www.tecmint.com/sshfs-mount-remote-linux-filesystem-directory-using-ssh/

评论
热度(2)

© 走过岁月...... | Powered by LOFTER