我目前 ssh 到一个设备,在我的客户端和设备之间有一堆 -L 和 -R 端口转发。但这并不是我独有的情况。其他应该通过 ssh 连接到该设备的人都需要映射这些端口。
将 -L/-R ssh 语法转换为设备端永久配置的最佳方法是什么? -R 转发是否可能,即使它在本地主机上?
答案1
您无法在设备端进行任何配置,因为当您访问远程设备时,连接已经建立。您只能将配置选项放在当地的~/.ssh/config` 文件。
如果远端可以配置转发,那将是一个可怕的安全问题;想象一下,如果恶意管理员在您登录他们的服务器时安排访问您的本地计算机!
在本地系统上,您可以使用和配置选项在 ssh 配置中配置-L
与 和等效的内容。-R
LocalForward
RemoteForward
如果你通常会运行类似的东西:
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 都会设置请求的本地和远程端口转发。