专注云服务商活动
网站运营运维笔记

记录SSHFS挂载云服务器远程系统和目录的过程

SSHFS(Secure SHell FileSystem) 是一种基于 SSH 协议的网络文件系统,允许用户通过挂载远程服务器的文件系统,在本地像操作本地文件一样访问和管理远程文件。它利用 SSH 提供的加密和认证机制,确保数据传输的安全性,适合需要远程文件访问的场景而无需额外配置专用的文件共享协议。通过简单的挂载命令(如 `sshfs user@remote:/path /local/mountpoint`),SSHFS 即可快速建立连接,无需复杂的设置,是一种高效、便捷且安全的远程文件共享方式。

这篇文章,我们记录将会向你展示在任意 Linux 发行版上如何安装并且使用 SSHFS 客户端,在本地 Linux 机器上挂载远程的 Linux 文件系统或者目录。

第一、在 Linux 系统上安装 SSHFS

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

在 Fedora 22+ 发行版上:

# yum install sshfs

# dnf install sshfs

基于 Debian/Ubuntu 的系统:

$ sudo apt-get install sshfs

第二、创建 SSHFS 挂载目录

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

# mkdir /mnt/tecmint 【在 Fedora 22+ 发行版上】

$ sudo mkdir /mnt/tecmint 【基于 Debian/Ubuntu 的系统】

第三、使用 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 的系统】

第四、验证远程的文件系统挂载成功

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

# cd /mnt/tecmint

# ls

[root@ tecmint]# ls

12345.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

第五、使用 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

第六、永久挂载远程文件系统

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

/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 的系统】

第七、卸载远程的文件系统

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

# umount /mnt/tecmint

文章参考:https://linux.cn/article-7855-1.html

投上你的一票
域名主机商优惠信息推送QQ群: 627775477 获取商家优惠推送,禁言。
赞(0)
未经允许不得转载:老左笔记 » 记录SSHFS挂载云服务器远程系统和目录的过程