如何在ssh配置文件中指定RemoteForward?

13

我正在尝试设置一条带远程端口转发的ssh隧道。想法是让VPS充当ssh到远程部署系统(目前包括树莓派)的手段。一切似乎都顺利,但当我尝试将所有参数移动到~/.ssh/config文件中时,出现了问题。

有效的设置为HostName、User、Port和IdentityFile。然而,设置RemoteForward参数似乎无效。

以下内容有效:

ssh -R 5555:localhost:22 ssh-tunnel

然而,在配置文件中使用以下行时:

Host ssh-tunnel
    ...
    RemoteForward 5555 localhost:22

以下命令会返回信息“Bad remote forwarding specification 'ssh-tunnel'”
ssh -R ssh-tunnel
1个回答

2

显然,在发布问题后不久我就找到了答案。使用-R标志需要在命令行调用中设置远程转发。但是,由于远程转发在配置文件中设置,因此不应将其添加到命令中。但是,除了设置隧道之外,还要ssh到远程服务器。为了避免这种情况,请添加-f和-N标志。这将导致以下命令:

ssh -f -N ssh-tunnel

你能否接受自己的问题呢?非常感谢。 - Dave
3
如果你已经在配置文件中添加了 RemoteForward 5555 localhost:22,那么在连接服务器时无需使用 -R 参数。使用 $ssh ssh-tunnel 即可完美运行。 - soumya ranjan Tripathy
顺便提一下,-N.ssh/config文件中的SessionType none是一样的。同样地,-fForkAfterAuthentication yes也是一样的。为了使所有的功能都按预期工作,您可能还需要一些其他选项。现在,$ ssh ssh-tunnel真的按预期工作了。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接