将 ssh cmdline 转发规则转换为永久远程配置

将 ssh cmdline 转发规则转换为永久远程配置

我目前 ssh 到一个设备,在我的客户端和设备之间有一堆 -L 和 -R 端口转发。但这并不是我独有的情况。其他应该通过 ssh 连接到该设备的人都需要映射这些端口。

将 -L/-R ssh 语法转换为设备端永久配置的最佳方法是什么? -R 转发是否可能,即使它在本地主机上?

答案1

您无法在设备端进行任何配置,因为当您访问远程设备时,连接已经建立。您只能将配置选项放在当地的~/.ssh/config` 文件。

如果远端可以配置转发,那将是一个可怕的安全问题;想象一下,如果恶意管理员在您登录他们的服务器时安排访问您的本地计算机!


在本地系统上,您可以使用和配置选项在 ssh 配置中配置-L与 和等效的内容。-RLocalForwardRemoteForward

如果你通常会运行类似的东西:

ssh -L 2000:localhost:2000 -L 3000:localhost:3000 -R 2200:localhost:22 myhost.example.com

然后你可以将以下内容放入~/.ssh/config

Host myhost.example.com
  LocalForward 2000 localhost:2000
  LocalForward 3000 localhost:3000
  RemoteForward 2200 localhost:22

然后,每当您运行时ssh myhost.example.com,ssh 都会设置请求的本地和远程端口转发。

相关内容