![隧道进入 SSH(不是通过 ssh)](https://linux22.com/image/1400966/%E9%9A%A7%E9%81%93%E8%BF%9B%E5%85%A5%20SSH%EF%BC%88%E4%B8%8D%E6%98%AF%E9%80%9A%E8%BF%87%20ssh%EF%BC%89.png)
在我所在的地方,我无法访问特定的 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 连接到它。