ssh 拯救世界——通过 ssh 隧道在内网服务器执行 APT 更新

ssh 拯救世界——通过 ssh 隧道在内网服务器执行 APT 更新

💡 原文中文,约1800字,阅读约需5分钟。
📝

内容提要

由于内网服务器无法连接外网,精弘前技术总监提出使用 Caddy 反向代理 APT 源镜像站的方案。通过 SSH 隧道进行端口转发,内网服务器可访问本地 Caddy 服务器,实现软件包更新与安装,配置简单,适合内网环境。

🎯

关键要点

  • 内网服务器无法连接外网,导致APT安装与更新困难。
  • 提出使用Caddy反向代理APT源镜像站的方案。
  • 通过SSH隧道进行端口转发,使内网服务器可以访问本地Caddy服务器。
  • 主控机需能直接通过SSH连接内网服务器,并能连接公网镜像站。
  • 选择Caddy作为反向代理,因其配置简单且易于使用。
  • 提供了Caddy的简单配置示例,使用清华的镜像站。
  • 建立SSH隧道的命令示例,使用反向隧道将内网端口与本地端口连接。
  • 在内网服务器上通过8085端口访问反向代理的镜像站。
  • 通过sed命令替换APT源地址,实现APT更新与安装软件。
  • 提醒不要使用SSH进行大量跨境网络传输,以免被封禁。
  • 其他工具如frp也能实现类似效果,但SSH隧道更为简单方便。

延伸问答

如何通过SSH隧道在内网服务器上执行APT更新?

可以通过建立SSH反向隧道,将内网服务器的端口转发到本地的Caddy服务器,从而访问外网的APT源镜像站。

为什么选择Caddy作为反向代理而不是Nginx?

Caddy的配置文件简单,且作为Golang编写的二进制文件,易于在不同操作系统上运行。

建立SSH隧道的命令是什么?

建立SSH隧道的命令为:ssh -R 8085:localhost:8080 root@remote.example.com。

如何替换APT源地址以使用反向代理?

可以使用sed命令将APT源地址中的https://mirrors.tuna.tsinghua.edu.cn替换为http://localhost:8085。

使用SSH隧道时需要注意什么?

不要使用SSH进行大量跨境网络传输,以免被封禁。

除了SSH隧道,还有哪些工具可以实现类似功能?

其他工具如frp也能实现类似的效果,但SSH隧道更为简单方便。

➡️

继续阅读