I have a bash script that runs ssh to create a port forward, using a command like this:
ssh -N -i keyfile -L 1000:localhost:22 *remote_ip*
There are occasions where the listen port may be busy, so this command gives the error:
channel_setup_fwd_listener: cannot listen to port: 1000
Could not request local forwarding.
However, the ssh connection remains up and the ssh command blocks. How can I make ssh actually fail when this occurs, so my script can handle it?
Unfortunately, I also need to support this on Solaris (Intel), and the ssh command there doesn't support the ExitOnForwardFailure option - any ideas in this case?