设置从 NAT 后面的家庭计算机到网关后面的内部计算机的无密码 SSH 隧道

设置从 NAT 后面的家庭计算机到网关后面的内部计算机的无密码 SSH 隧道

我的家用计算机位于 ISP 级 NAT(和防火墙)后面。

目标计算机是网关后面的工作计算机。您必须首先通过 SSH 登录到网关计算机(因为它是唯一可见且可以从 Internet 访问的计算机)。该网关上的 SSH 守护进程配置为仅允许“键盘交互”登录(即不允许无密码公钥日志记录)。然后,您使用基于公钥的日志记录(仅)登录到目标计算机。

如何设置 SSH 隧道(我可能需要其中两个:正向和反向),以便在设置这些隧道后,我可以从我的家庭计算机直接登录到主机,反之亦然,两者都无需提供密码。

例如,我希望能够同步我的私人 git 存储库(从主目录推送到目标,以及从目标获取到主目录)。


请注意,这是比所描述的设置更复杂的设置如何将流量从公开可用的服务器转发到非公开可用的计算机?

答案1

我相信你正在寻找这样的东西:

(我们将第一个服务器称为“gateway1”,将第二个服务器称为“gitrepo1”)

ssh -L 8022:gitrepo1:22 网关1

然后,使用家庭计算机上本地的私钥,您应该能够执行以下操作来访问 git repo 服务器:

ssh -i /path/to/your/key localhost -p 8022

我有点担心我错过了一些东西,因为我认为在这种情况下不需要多个隧道。

相关内容