本地挂载远程 Ubuntu 文件夹 (gngrok + sshfs 实现)

本文旨在快速安装和使用, 并没有考虑任何安全问题. 下面是详细的步骤

Server 端

  1. 安装 ssh $ sudo apt-get install openssh-server
  2. 开启 ssh server
$ sudo /etc/init.d/ssh start
[ ok ] Starting ssh (via systemctl): ssh.service.
  1. 注册 ngrok, 并完成官网的 Setup & Installation 前 3 步
  2. 在 ngrok 根目录打开 Terminal 启动 TCP 服务
$ ./ngrok tcp 22
ngrok by @inconshreveable                                       (Ctrl+C to quit)

Session Status                online                                            
Account                       Username (Plan: Free)                        
Version                       2.2.8                                             
Region                        United States (us)                                
Web Interface                 http://127.0.0.1:4040                             
Forwarding                    tcp://0.tcp.ngrok.io:11711 -> localhost:22        
                                                                                
Connections                   ttl     opn     rt1     rt5     p50     p90       
                              0       0       0.00    0.00    0.00    0.00

Client 端 (Ubuntu)

  1. 安装 sshfs $ sudo apt-get install sshfs
  2. 创建一个挂载点目录 $ mkdir /home/username/remote_folder
  3. 挂载一个叫远程的一个 /home/tecmint 目录
    $ sudo sshfs -p 11711 -o allow_other username@0.tcp.ngrok.io:/home/tecmint/ /home/username/remote_folder。这里的 -p 参数是 Server 端 Forwarding 里的 port (tcp://0.tcp.ngrok.io:11711 -> localhost:22)

Client 端 (Mac)

  1. 下载 osxfuse 虚拟文件系统
  2. 安装 sshfs $ brew install sshfs
  3. 挂载 $ sshfs -p 11711 -o allow_other username@0.tcp.ngrok.io:/home/tecmint/ /home/username/remote_folder. 注意, 可以不通过 sudo 来挂载.

相关问题

当我们的 mac 休眠或重启, 回来时发现挂载的失败了, 进入目录会提示

$ls local_dir 
ls: local_dir: Input/output error

如果我们想取消挂载, 又会提示

$umount local_dir
umount: local_dir: not currently mounted

此时需要关闭进程 pkill -9 sshfs 之后重新挂载响应的目录即可

备注

听说 Frp 可以替代 ngrok ,且配置更方便。但我没时间弄了,能用就行了。还要干活呢。有兴趣的可以搞一搞,欢迎交流。

参考文章

  1. 如何使用 SSHFS 通过 SSH 挂载远程的 Linux 文件系统或者目录
  2. 通过SSHFS远程挂载文件夹,方便远程coding!
  3. 使用sshfs挂载远程服务器目录
  4. 通过 ngrok 实现 ssh 内网穿透
  5. ngrok-实现树莓派ssh远程访问?
  6. ngrok 实现内网穿透
  7. 使用ssh远程连接内网中的docker container
  8. ngrok使用笔记
  9. 远程连接解决方案
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值