title: 网盘传文件限速严重,来试试ssh内网穿透创建的公网到本地http服务器吧
如果你被国内某度网盘的火星传输速度折磨,可以搞一个固定IP的服务器,传输文件会变得简单,通过ssh转发,我们可以让接受者通过浏览器直接下载我们本地电脑的文件。
效果类似 frp.v2fy.com
有个现成的产品: https://pinggy.io/ ,每月2.5刀,服务器在海外,速度不会很快;本文相当于这个服务的开源版,需要自己购买有公网ip的服务器,如果购买了国内的服务器,速度会非常快。
登录服务器,修改sshd_config
文件sshd_config
一般在/etc/ssh
文件夹,将GatewayPorts
设置为yes
GatewayPorts yes
- 测试修改后的配置文件(不报错就没问题)
/usr/sbin/sshd -t
- 重启sshd服务
systemctl restart sshd
本地开启http-server和 ssh端口转发
-
先安装Node.js 下载地址 https://nodejs.org/en/download
-
将需要传输的文件放入文件夹,在文件夹内,启动http-server服务
npx http-server
- 启动ssh内网穿透服务
# 服务端8081端口收到的http请求,都被转发到本地电脑8080端口的http服务处理
ssh -N -R 0.0.0.0:8081:localhost:8080 登录服务器的用户名@服务器ip或服务器绑定的域名
保持http-server和ssh 穿透服务同时运行,其它用户即可公网访问本地文件(ssh如果配置了秘钥登录,可以免除密码,ssh免密登录配置可以参考往期文章:https://www.v2fy.com/p/2023-08-17-rsnapshot-1692258217000/
)
对方接收完成后, Ctrl+c
关闭ssh内网穿透服务就好了, 服务端的端口占用也会被自动释放。
如果无法实现公网访问,可以查看云服务商的防护墙是否放行了8081
端口, 如果8081
端口被其它服务占用(查看方式 lsof -i:8081
),可以换一个数值更大的端口
小结
本文灵感来自 https://androidblog.a.pinggy.io/ ,一个海外老哥,在废旧的安卓安装 Termux 然后通过Termux的ssh服务配合pinggy 搭建了自己的博客平台,可谓是废旧电子产品利用的优秀案例。
我研究了一下支撑pinggy服务的基础技术,还挺适合国内的环境,买个国内服务器,流量不出境,延迟就会比较低,不使用知名端口,也就用不着ICP备案,只要服务器安装了sshd,稍加修改,就可以直接公网发布http服务,数据也不用上传到服务器硬盘。
如果想要长期稳定的http服务,还是推荐进行ICP备案,ICP备案后就可以使用80, 443等知名端口。如果想要更稳定,更丰富的服务,可以搞个树莓派配合frp直接起飞 https://github.com/zhaoolee/pi
。
本文永久更新地址(欢迎来读留言,写评论):
https://www.v2fy.com/p/2023-08-20-sshd-port-forwarding-1692501226000