带有连接共享的ssh端口转发

问题描述 投票:0回答:1

我想使用ssh-L选项创建端口转发。我的问题是我使用到远程主机的连接共享。因此,取决于我是否需要提供主控的连接]

ssh -O forward -L ... $remotehost

((如果已经有一个主服务器)或

ssh -N -L ... $remotehost

。我可以使用类似的东西:

if ssh -O check $remotehost 2>/dev/null; then
    ssh -O forward -L ... $remotehost
else
    ssh -N -L ... $remotehost
fi

,但这是合理的,从C代码开始,如果有一个选项可以使ssh在没有主机的情况下自动启动主机,则会更容易。对于“常规”调用,您可以使用-o "ControlMaster auto",但这在这里做不正确的事情。我在文档中找不到这样的选项,但是想知道是否错过了什么。

所以我的问题是:是否有一个包罗万象的命令,它添加了一个独立于命令多路复用设置的端口转发,即使根本没有启用多路复用,它甚至也可以工作。

如果使用已建立的连接,

ssh -N -L ... $remotehost似乎根本不执行任何操作。这是一个错误吗?

((ssh -S none -N -L ... $remotehost当然有效,但是明显的缺点是,那时可能不使用现有的连接。)

ssh portforwarding
1个回答
0
投票

似乎这是旧知识,ssh -N -L ... $remotehost在我的设置中做正确的事。自从我上次实际检查这个问题以来,大概是固定的。

检查openssh的变更日志,我没有发现此问题。

© www.soinside.com 2019 - 2024. All rights reserved.