在 linux 与 linux 主机间可以通过 sshfs 将对方的目录远程挂载在自己的主机上。相对于 nfs 、samba、webdav 等服务,sshfs 对系统的依赖最小,只需要对方支持 ssh 协议即可。
使用方法:
$ sudo apt-get install sshfs
$ sshfs user@remote_server:/path /localpath
通过 sshfs 命令挂载后,可以使用 df 命令查看挂载点信息:
df
Filesystem 1K-blocks Used Available Use% Mounted on
user@remote_server:/path 272326 21463 44021 83% /localpath
取消挂载的命令:
umount /localpath
如果 ssh 主机使用的是自定义端口,可以在命令行挂载时通过 -p port 指定端口:
# 示例,端口号为 2222
sshfs -p 2222 user@remote_server:/path /localpath
sshfs 是个开源项目,项目地址为
https://github.com/libfuse/sshfs
目前主流的 linux 发行版都有编译好的包支持,可以使用各自平台的包管理工具进行安装。
使用 sshfs 可以更方便地进行主机间的文件拷贝,挂载后的目录文件可以像本地目录一样浏览和编辑。与 nfs 等传统服务相比,sshfs 可以挂载任意目录,并且不需求提前在服务器上进行配置。
sshfs 的原理实际上调用的是 sftp,通过 ps 命令我们可以检查实际执行的进程信息。
$ netstat -anp | grep remote_ip
tcp 0 0 remote_ip:2222 ESTABLISHED 3770/ssh
$ ps -eaf | grep 3770
00:03:33 ssh -x -a -oClearAllForwardings=yes -oPort=2222 -2 root@remote_ip -s sftp
一个挂载目录会启用一个 ssh 连接会话,所使用的端口就是远程主机的 ssh 端口。这个功能实际上在很多 windows ssh 连接工具上都有,即调用 sftp 进行主机间的文件传输。
使用 sshfs 可以起到保持 ssh 会话的作用,同时可以使用 cp 命令替代 scp 命令进行日常的远程文件拷贝。
全文完。
如果转发本文,文末务必注明:“转自微信公众号:生有可恋”。
原文始发于微信公众号(生有可恋):Linux 挂载 sshfs 文件系统
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论