linux – 如果端口转发失败,如何使ssh失败

我有一个运行ssh的bash脚本来创建一个前向端口,使用如下命令:

ssh -N -i keyfile -L 1000:localhost:22 *remote_ip*

有时监听端口可能很忙,所以此命令会给出错误:

channel_setup_fwd_listener: cannot listen to port: 1000
Could not request local forwarding.

但是,ssh连接仍然保持,ssh命令阻塞.当发生这种情况时,如何使ssh实际失败,所以我的脚本可以处理它?

不幸的是,我还需要在Solaris(Intel)上支持这个,并且那里的ssh命令不支持ExitOnForwardFailure选项 – 在这种情况下的任何想法?

最佳答案
如果你检查ssh手册页,你会发现有一个名为ExitOnForwardFailure的配置选项,您可以通过添加以下内容在命令行中指定它:

 -o“ExitOnForwardFailure yes”

所有ssh配置选项都在ssh_config和sshd_config手册页中进行了描述.如果您发现不支持该选项,则可能必须升级到较新版本的ssh.

祝好运.

转载注明原文:linux – 如果端口转发失败,如何使ssh失败 - 代码日志