这个问题在这里已有答案:
- 如何通过SSH隧道打开端口? 2个答案
例如,我想将localhost:2222绑定到remote:22
我希望能够这样做:
ssh user@localhost -p 2222
并通过SSH结束远程服务器
这是可以使用SSH完成的吗?我见过的所有例子都是从其他地方的远程机器转发端口。我只想将LOCALLY前移到远程服务器。
编辑:这不是建议的副本的副本。我不是试图通过本地端口访问远程计算机上的端口。
我只想将我的机器上的端口X别名为远程机器上的22。我不是想在这里隧道,我认为这是我的例子。
Edit2:它使它更清楚,我基本上想要将localhost 2222代理到端口22上的远程服务器。
@KamilMaciorowski对不起,你的回复几乎听起来像“你为什么要那样做?” 我有理由想要这样做。我只是想看看它是否可能。
—
life359
我见过用户要求不幸的解决方案,主要是因为XY问题。
—
Kamil Maciorowski
您将只获得通用答案,因为SSH通过端口转发通常涉及四台计算机:(1)启动的客户端
—
Kamil Maciorowski
ssh
,(2)侦听服务器sshd
,(3)通过隧道到达的目标,(4)计算机使用隧道到达目标。在某些情况下,它们中的一些可能是同一台机器,因此可能涉及三到两台真正的计算机,如果你的目标很麻烦,甚至可能有一台。还有本地或远程转发。在您的情况下,可能会有一些混乱,因为您似乎想使用SSH来隧道SSH。
也许通过“我只想将LOCALLY前移到远程服务器”你的意思是(1)和(2)是你的本地主机,(3)就是你所说的“远程服务器”。如果是这样,我希望(4)是另一台机器。是这样的吗?
—
Kamil Maciorowski
ssh user@localhost -p 222
只是一个不必要的复杂替代方案。除非有两台远程计算机:“代理”和目标。如果你无法达到目标,但是你可以到达“代理”,它可以达到目标,那么它更有意义。或者您可能希望允许其他计算机通过本地计算机访问远程计算机(使本地计算机成为其他计算机的“代理”)。你的目标是什么?