当前位置: 首页 > java >正文

跳板机实现 SSHFS 挂载


# 使用跳板机实现 SSHFS 挂载远程目录在企业内网、云平台或安全隔离环境中,服务器之间往往不能直接互通,但我们有时候需要将一台服务器的数据目录挂载到另一台服务器上。本文介绍如何通过“跳板机”(堡垒机)实现**SSHFS 跨服务器挂载**。## 典型场景- 服务器A和服务器B不直接互通。
- 服务器A与跳板机C互通,服务器B与跳板机C互通。
- 你希望在B上访问A的数据目录。### 网络拓扑图

[Server B]───┐

[JumpHost C]

[Server A]───┘


- **Server A**:目标数据服务器,无法直接被 B 访问
- **Server B**:希望访问 A 上目录的服务器
- **JumpHost C**:作为跳板机,A和B都能访问假设各服务器的 IP(仅举例):
- Server A:`192.168.10.10`
- Server B:`192.168.20.20`
- JumpHost C:`10.10.10.10`## 方案一:使用 SSH ProxyJump(推荐)`sshfs` 支持通过跳板机进行挂载,核心是 `-o ProxyJump` 参数。### 步骤1. **在 B 服务器新建挂载目录**```bashmkdir -p ~/remote_data_from_a```2. **使用 sshfs 命令带上 ProxyJump**```bashsshfs -o Compression=no -o ProxyJump=user_c@10.10.10.10 user_a@192.168.10.10:/data ~/remote_data_from_a```- `user_c`:JumpHost C 的用户名- `10.10.10.10`:JumpHost C 的 IP- `user_a`:Server A 的用户名- `192.168.10.10`:Server A 的 IP- `/data`:A 上要挂载的目录- `~/remote_data_from_a`:B 上本地挂载点3. **访问挂载目录**- 现在你可以在 B 上通过 `~/remote_data_from_a` 访问 A 上的数据。## 方案二:兼容旧版本的 ProxyCommand如遇 `sshfs` 版本较老,使用 `ProxyCommand`:```bash
sshfs -o Compression=no -o 'ProxyCommand=ssh -W %h:%p user_c@10.10.10.10' user_a@192.168.10.10:/data ~/remote_data_from_a

关键注意事项

  • 挂载目录(如 ~/remote_data_from_a)需事先创建。

  • 建议 A、C、B 三台服务器互设 SSH 密钥免密,减少频繁输入密码。

  • 可用如下命令测试跳板连通性:

    ssh -J user_c@10.10.10.10 user_a@192.168.10.10
    
  • sshfsssh 都需支持 ProxyJump/ProxyCommand。可用 ssh -V 查看版本(OpenSSH 7.3+ 支持 ProxyJump)。

  • 出现挂载问题时,尝试添加 -o debug 或检查网络、防火墙、权限等。

总结

通过跳板机配合 SSHFS,可以轻松突破服务器直连受限的环境,在安全可控的前提下实现数据共享和同步操作。如果实际场景中有多层跳板,也可多次叠加 ProxyJump,命令类似。


如需更自动化或批量脚本操作,可考虑结合 ssh config 配置实现免命令行参数。

http://www.xdnf.cn/news/17098.html

相关文章:

  • Tomcat虚拟主机配置详解和多实例部署
  • C + +
  • 交叉验证:原理、作用与在机器学习流程中的位置
  • SpringBoot3.x入门到精通系列:3.2 整合 RabbitMQ 详解
  • Ubuntu系统VScode实现opencv(c++)图像一维直方图
  • Ubuntu系统VScode实现opencv(c++)图像二维直方图
  • 补:《每日AI-人工智能-编程日报》--2025年7月28日
  • 软件设计 VS 软件需求:了解成功软件开发外包的关键差异
  • git操作命令和golang编译脚本
  • 补:《每日AI-人工智能-编程日报》--2025年7月27日
  • 移动端 WebView 视频无法播放怎么办 媒体控件错误排查与修复指南
  • 高精度实战:YOLOv11交叉口目标行为全透视——轨迹追踪×热力图×滞留分析(附完整代码)
  • Linux-Day01.初识Linux和基础指令
  • 基于FAISS和Ollama的法律智能对话系统开发实录-【大模型应用班-第5课 RAG技术与应用学习笔记】
  • Ubuntu 下编译 SQLCipher 4.8.0
  • CMake进阶: 使用FetchContent方法基于gTest的C++单元测试
  • sqli-labs靶场less29~less35
  • Ethereum:拥抱开源,OpenZeppelin 未来的两大基石 Relayers 与 Monitor
  • 互联网医院整体项目套表整理过程文档全流程分析
  • Linux 文件与目录属性管理总结
  • IPIDEA:全球领先的企业级代理 IP 服务商
  • Go语言 逃 逸 分 析
  • JVM(Java虚拟机)运行时数据区
  • 【测试】⾃动化测试概念篇
  • 服务器突然之间特别卡,什么原因?
  • 晨控CK-GW08S与汇川AC系列PLC配置Ethernet/IP通讯连接手册
  • 开疆智能ModbusTCP转Profient网关连接ER机器人配置案例
  • 第二十三天(APP应用产权渠道服务资产通讯抓包静态提取动态调试测试范围)
  • 红队信息收集工具oneforall子域名搜集爆破工具安装使用教程详细过程
  • Python-初学openCV——图像预处理(七)——模板匹配、霍夫变换