如何使用 ./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.
相当于的配置文件-R
是RemoteForward
:
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