小编nob*_*nob的帖子

等到SSH成功​​创建端口转发

我通过 fork/exec 从 OSX/Linux-C++-Application 调用 ssh (OpenSSH) 来创建动态端口转发。这是使用批处理模式(-o BatchMode=yes)和提供给 ssh 的私钥(-i 选项)完成的。SSH 调用本身不会打开外壳(-N 选项)。

这是我完整的 SSH 调用:

ssh -N -D 9000 -o BatchMode=yes -i /path/to/private-key user@host
Run Code Online (Sandbox Code Playgroud)

我想尽快继续我的申请,所以我必须找出 ssh 是否成功创建了频道。SSH 本身只有在出现问题时才会返回。

有没有可能如何检测成功的端口转发?

当然,我可以等到端口被 SSH 打开,但我正在寻找更优雅的解决方案。另一种解决方案是检查 SSH 的日志 (-v) 等待“进入交互式会话”,但这对我来说听起来不太便携。

ssh unix shell c

8
推荐指数
1
解决办法
932
查看次数

标签 统计

c ×1

shell ×1

ssh ×1

unix ×1