# Si le tunnel ne fonctionne pas if ! $(timeout 2 -p 11122 userb@64.212.113.165 echo &>/dev/null) ; then # S'assurer de tuer le process de connexion s'il existe procid=$(ps aux | grep limiteduser | grep 11122 | grep -v grep | awk '{print $2}') if [ ! -z "$procid" ]; then kill $procid fi # Initier la connexion # les options supplémentaires comme Control{Master,Persist,...} et autres # ... aident à optimiser les conditions de connexion # voir man ssh timeout 60 ssh -N -f -g -o ControlMaster=auto \ -o ControlPath=/tmp/%u:%r@%h:%p \ -o ControlPersist=120m \ -o PubkeyAuthentication=yes \ -o PasswordAuthentication=no \ -o ServerAliveInterval=60 \ -o ServerAliveCountMax=3 \ -R *:11122:localhost:22 \ limiteduser@64.212.113.165 fi