(如何)我可以从两端启动 ssh 隧道?

(如何)我可以从两端启动 ssh 隧道?
  • A 是我的笔记本电脑,在家里。
  • B 是我控制的服务器(AWS 实例)。
  • C 是我工作网络上的一台机器(没有外部可见的 IP 地址),它运行 VNC 服务器、NoMachine 或类似程序。这台机器完全由我控制,但我们假设工作网络不受控制。

这不是一个A->C通过简单的A->B->C隧道进行连接的问题,就像多种的 其他 帖子;而是旨在A->C通过 来实现A->B<-C。A 和 C 都可以通过 ssh 连接到 B,但是B 无法发起与 C 的连接(或者就此而言是 A)。

我如何才能建立从 C 到 B 的连接(下班前),以及从 A 到 B 的连接(回家后),以便 A 可以访问 C 的 VNC 服务?

基本上,这是一个自制的尝试,旨在替代 TeamViewer/LogMeIn/AnyDesk,而无需 (1) 支付高得离谱的许可费,或 (2) 需要为目标机器 C 提供暴露在互联网上的 IP 地址。(如果这是 XY 问题,欢迎提出替代的 Mac + Windows 兼容解决方案的建议,但到目前为止,我还没有找到可以避免这两个问题的第三方解决方案。)

相关内容