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

Kan*_*zen 15 ssh ssh-tunnel ssh-config

我正在尝试设置具有远程端口转发的 ssh 隧道。这个想法是让 VPS 作为 ssh 进入远程部署系统(目前包含 Raspberry Pi)的一种手段。一切似乎都正常,但在尝试将所有参数移至 ~/.ssh/config 文件时遇到问题。起作用的是主机名、用户、端口和身份文件的设置。但是设置 RemoteForward 参数似乎不起作用。

以下作品:

ssh -R 5555:localhost:22 ssh-tunnel
Run Code Online (Sandbox Code Playgroud)

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

Host ssh-tunnel
    ...
    RemoteForward 5555 localhost:22
Run Code Online (Sandbox Code Playgroud)

以下命令返回消息“错误的远程转发规范‘ssh-tunnel’”

ssh -R ssh-tunnel
Run Code Online (Sandbox Code Playgroud)

Kan*_*zen 2

显然,我在发布问题后几乎立即找到了答案。使用该-R标志需要您在命令行调用中设置远程转发。但是,由于远程转发是在配置文件中设置的,因此您不应将其添加到命令中。然而,除了设置隧道之外,您还可以通过 ssh 连接到远程服务器,从而发生一些令人困惑的事情。为了避免这种情况,请添加 -f 和 -N 标志。这会产生以下命令:

ssh -f -N ssh-tunnel
Run Code Online (Sandbox Code Playgroud)

  • 如果您已经将 RemoteForward 5555 localhost:22 添加到您的配置中,那么在通过 ssh 连接到服务器时无需提及 -R 。$ssh ssh-tunnel 工作完美。 (3认同)