如何将ssh端口转发到我的机器上运行的虚拟机?
我有两台机器,A和B 在B上,我有一个正在运行的虚拟机(比如说它的VB)。 不幸的是,VB有一个无法更改的静态本地IP地址(192.168.79.1) 我可以通过以下方式成功地使用ssh A->B B->VB 我试图将B(端口7777)上的ssh端口转发设置为转发到VB(端口22)。但不知怎么的,它没有发生 我应该使用-L还是-R 我试过很多方法 ssh-R 7777:192.168.79.1:22root@192.168.79.1 ssh-L7777:192.168.79.1:22root@192.168.79.1 ssh-L 7777:192.168.79.1:22-L根本地主机 可能是我没有正确理解语法,还是我遗漏了一些愚蠢的东西 我想连接到A->VB(通过B上的某个xyz端口)。请指导我如何设置如何将ssh端口转发到我的机器上运行的虚拟机?,ssh,portforwarding,Ssh,Portforwarding,我有两台机器,A和B 在B上,我有一个正在运行的虚拟机(比如说它的VB)。 不幸的是,VB有一个无法更改的静态本地IP地址(192.168.79.1) 我可以通过以下方式成功地使用ssh A->B B->VB 我试图将B(端口7777)上的ssh端口转发设置为转发到VB(端口22)。但不知怎么的,它没有发生 我应该使用-L还是-R 我试过很多方法 ssh-R 7777:192.168.79.1:22root@192.168.79.1 ssh-L7777:192.168.79.1:22root@1
ssh -L7777:192.168.79.1:22 some_user@<B>
ssh-L7777:192.168.79.1:22一些用户@
因此,用户“some_user”sshs进入主机B,在那里不做任何其他事情(
必须替换为Bs ip地址或名称),除了他还创建了一个“ssh隧道”,您现在可以使用它通过以下方式连接:
ssh root@<B>:7777
ssh root@:7777
试一试,您会发现您实际上登录到了VB,因为您的请求以透明的方式通过隧道传输到主机VB上的端口22。所以B充当隧道继电器
但这对于日常使用来说有点烦人。考虑使用iptables在防火墙级别找到解决方案。这样就不必在使用ssh隧道之前创建它。或者,还有一些实用程序,如plasmoids等,可以更方便地设置ssh隧道 谢谢你的快速回复!!那么,这是ssh“隧道”不一致吗?当我想连接时,我必须这样做吗?对不起,刚才看到你最后的评论。。。我不知道“始终如一”是什么意思——它确实有效,但是是的,每次你想建立一个隧道时,你都必须采取这些步骤。您可以多次使用隧道,但一旦隧道关闭,您必须重新设置ip。它不是持久的。这就是为什么我建议使用基于防火墙的解决方案,在持久的基础上转发您的通信。