Run
ssh -o "ExitOnForwardFailure yes" ...
or put
ExitOnForwardFailure yes
into ~/.ssh/config
. See ssh_config(1)
using man
for details.
Wenn ich eine Remote-Port-Weiterleitung durchführe, aa -R 3690:localhost:3690
wenn auf dem Port des Remote-Hosts bereits eine Bindung vorhanden ist, erhalte ich die folgende Warnung:
Warning: remote port forwarding failed for listen port 3690
Gibt es eine Möglichkeit, dass ssh fehlschlägt (dh mit einem Rückgabecode ungleich Null beendet wird), anstatt nur eine Warnung auszugeben?
Run
ssh -o "ExitOnForwardFailure yes" ...
or put
ExitOnForwardFailure yes
into ~/.ssh/config
. See ssh_config(1)
using man
for details.
Ich verwende Bash-Skript auf dem Zielhost, um sicherzustellen, dass die Weiterleitung korrekt geöffnet wurde. Die SSH-Verbindung führt dies aus und wird beendet, wenn ein Problem mit der Portweiterleitung vorliegt, z
clientseitiges Skript: (verwendet .ssh / config für die Portweiterleitungseinstellungen)
#!/bin/bash while true; do echo -n starting at : " date ssh user@server bin/sshloop.sh echo "got back, sleeping 17 " sleep 17 done
serverseitiges Skript (bin / sshloop.sh)
#!/bin/bash while true; do echo $(date)" : SSH Reverse 1090:80, 1232:22 From Server to Client" sleep 17 if ! netstat -an | grep -q ":::1090 " ; then echo "1090 forward missing, bailing out" exit fi done
Vielleicht führen Sie sogar das clientseitige Skript mit -dmS unter screen aus