直接连接到 SSH 隧道而不必先连接到服务器?

直接连接到 SSH 隧道而不必先连接到服务器?

我刚刚设置了我的 Raspberry Pi,以便与我拥有的 VPS 建立远程 SSH 隧道。它工作正常,因此我从我的计算机 ssh 进入我的 VPS(使用类似 'ssh[电子邮件保护]',一旦连接到该隧道,我就可以通过 ssh 进入隧道(使用类似“ssh -p 2222 pi@localhost”之类的命令,它就可以正常工作。我的问题是,有什么方法可以让我直接连接到端口 2222(或任何其他端口)上的隧道,而不必登录到 VPS?

因此,我无需执行 2 个步骤,只需从我的计算机连接到隧道即可(使用类似“ssh -p 2222”[电子邮件保护]

答案1

以下是我的配置。这可以让您了解如何创建隧道。但要回答您的问题,有一种方法。使用 /.ssh/config 可以实现这一点:

Host *
        StrictHostKeyChecking no

Host server_one 
        ForwardAgent yes
        IdentityFile ~/.ssh/id_rsa
        User foo
        HostName %h.bar.net

Host server_two
        ProxyCommand ssh -q -W %h:%p server_one nc 2> /dev/null
        User foo
        HostName %h.foo.net 
        IdentityFile ~/.ssh/id_rsa

使用 ProxyCommand 会有一个技巧:

代理命令 ssh -q -W[电子邮件保护]:2222 -w 2222:2222 本地主机

我会尝试一下,看看这里

答案2

如果在我的客户端上执行,我可以使其工作。ssh -R 2222:localhost:22 [email protected]

现在我可以做ssh -p 2222 [email protected]

答案3

如果隧道已经建好并且不是本问题的一部分:

ssh -J [email protected] -p 2222 pi@localhost

或者将其添加到您的~/.ssh/config

Host raspi
  User pi
  Hostname localhost
  Port 2222
  ProxyJump [email protected]

然后:

ssh raspi

相关内容