让 Ubuntu 电脑能够通过 SSH 远程回拨

让 Ubuntu 电脑能够通过 SSH 远程回拨

我为亲戚朋友安装了一些基于 Ubuntu 的系统,有时为了管理需要,我需要通过互联网远程 SSH 访问这些系统。但是,这些系统中的大多数都设置了防火墙,因为它们的 ISP 不允许传入连接(而且它们也没有静态 IP 地址)。

我拥有一台 Linux 服务器,可以通过互联网访问,并且拥有静态 IP 地址。是否有可能以某种方式让这些计算机在联机时“回拨”到我的服务器进行端口转发,以便我可以通过 SSH 返回到它们?

我尝试使用autossh远程端口转发(即-R命令行选项),但事实证明这不是很可靠,因为经常出现连接丢失,而重新连接无法绑定到指定的端口:

error: bind: Address already in use
error: channel_setup_fwd_listener_tcpip: cannot listen to port: 30000

我可以使用其他什么方法?某种 VPN?IPsec?或者我应该寻找某些专用软件吗?我不想依赖任何其他服务提供商。

答案1

我的做法是设置一个 OpenVPN 服务器,然后将每个客户端设置为 OpenVPN 客户端。这将提供额外的安全性(加密),并允许您支持更广泛的系统(不需要 SSH)。它也很容易向朋友解释,并被认为是最佳实践。

额外的好处是,您可以创建 .ovpn 配置文件,这些文件对于人们来说相当容易远程安装 - 比通过公钥/私钥生成和转发命令与他们交谈要容易得多。它还可以安装在 dd-wrt ​​路由器上,以允许访问整个网络。

相关内容