隧道进入 SSH(不是通过 ssh)

隧道进入 SSH(不是通过 ssh)

在我所在的地方,我无法访问特定的 ssh 主机(通过 GIT),我想知道是否可以通过代理之类的东西隧道进入该主机(即使代理不适用于 ssh)。我可以通过 SSH 进入一台主机,然后通过前一台主机的隧道连接到另一台主机吗?或者类似的东西?

答案1

如果我理解正确的话,你需要类似下面的内容

ssh -L 2222:host1:22 -L 2223:host2:22 -L 2224:host3:22 user@middlehost

这是您在本地机器上运行的命令。 middlehost是您能够从本地机器登录的主机ssh user@middlehosthost1host2host2, 是您想要登录但无法从本地机器登录,但可以从中间主机登录的机器。

运行上述命令后,您需要在本地主机上运行以下命令,例如登录到host2

ssh -p 2223 user2@localhost

端口 2223 自动转发到 middlehost,而原始命令将其转发到 host2 的端口 22。从 host2 的 PoV 来看,是 middlehost 正在 ssh 连接到它。

相关内容