配置中的反向 ssh 隧道

配置中的反向 ssh 隧道

如何使用 ./ssh/config 文件建立反向 ssh 隧道?

我正在尝试重现这个命令

ssh -R 55555:localhost:22 user@host

在我的 .ssh/config 文件中,这样当我输入时,ssh host我将以用户身份通过​​反向隧道 ssh 到主机。配置文件接受的命令是与命令行标志更详细的对应命令。根据 ssh 手册页和 ssh_config 的手册页,似乎相应的设置是 BindAddress。

在我的 .ssh/config 文件中,我有:

Host host
     Hostname host
     User user
     BindAddress 55555:localhost:22

当我尝试时,这个以及轻微的变化会导致连接被拒绝

ssh localhost -p 55555

一旦登录到主机上。如果我在第一次 sshing 到主机时在顶部明确给出命令,同样可以正常工作。我的配置文件在没有反向隧道命令的情况下也可以工作;ssh host我以用户身份登录到主机。

答案1

BindAddress不是您想要的选择。从man ssh_config:

BindAddress
         Use the specified address on the local machine as the source
         address of the connection.  Only useful on systems with more than
         one address.

相当于的配置文件-RRemoteForward

RemoteForward
         Specifies that a TCP port on the remote machine be forwarded over
         the secure channel to the specified host and port from the local
         machine.  The first argument must be [bind_address:]port and the
         second argument must be host:hostport. [...]

有了这些信息,命令行

ssh -R 55555:localhost:22 user@host

翻译成以下.ssh/config语法:

Host host
HostName host
User user
RemoteForward 55555 localhost:22

相关内容