在我所在的地方,我无法访问特定的 ssh 主机(通过 GIT),我想知道是否可以通过代理之类的东西隧道进入该主机(即使代理不适用于 ssh)。我可以通过 SSH 进入一台主机,然后通过前一台主机的隧道连接到另一台主机吗?或者类似的东西?
答案1
如果我理解正确的话,你需要类似下面的内容
ssh -L 2222:host1:22 -L 2223:host2:22 -L 2224:host3:22 user@middlehost
这是您在本地机器上运行的命令。 middlehost
是您能够从本地机器登录的主机ssh user@middlehost
。 host1
,host2
,host2
, 是您想要登录但无法从本地机器登录,但可以从中间主机登录的机器。
运行上述命令后,您需要在本地主机上运行以下命令,例如登录到host2
ssh -p 2223 user2@localhost
端口 2223 自动转发到 middlehost,而原始命令将其转发到 host2 的端口 22。从 host2 的 PoV 来看,是 middlehost 正在 ssh 连接到它。