Tunnel SSH en arrière-plan


17

J'ai un processus qui s'attend à ce qu'une connexion de tunnel ssh s'exécute correctement et j'utilise la commande suivante:

ssh -L localhost:3306:127.0.0.1:3306 username@<mysql-machine-ip-address> -N &

J'ai géré cela avec succès pendant 8 mois, récemment notre hébergeur a dû apporter des modifications matérielles pour mettre à jour notre machine et a mis à niveau notre machine avec un nouveau noyau pour Ubuntu. Il est passé de 4.8.3-x86_64-linode76 à 4.8.6-x86_64-linode78.

Après un tas de problèmes, nous avons dû mettre à jour la commande comme suit:

ssh -L localhost:3306:127.0.0.1:3306 username@<mysql-machine-ip-address> -fN

Lors de la recherche de la documentation ssh, le paramètre -f

Demande à ssh de passer en arrière-plan juste avant l'exécution de la commande. C'est utile si ssh va demander des mots de passe ou des phrases secrètes, mais que l'utilisateur le veut en arrière-plan. Cela implique -n. La façon recommandée de démarrer des programmes X11 sur un site distant est avec quelque chose comme ssh -f host xterm.

Lors de la recherche de la commande bash pour "&"

Placez un processus en arrière-plan (voir multitâche dans "Utilisation intermédiaire de> Le système d'exploitation UNIX").

Y a-t-il fondamentalement une différence dans ces 2 commandes?

Réponses:


22

Oui il y a. ssh &s'exécute sshen arrière-plan depuis le tout début. ssh -fdémarre sshau premier plan, lui permettant de demander des mots de passe, etc., et se sshmet ensuite en arrière-plan juste avant d'exécuter la commande demandée.


avez-vous une idée de pourquoi avec le nouveau serveur je serais obligé d'utiliser le ssh -f plutôt que le ssh &. En plus de cela, il semble que ssh -f soit une meilleure approche, seriez-vous d'accord avec cela?
develop4fun2011

Peut-être que le nouveau système a un client ssh plus récent (ou tout simplement différent)?
AlexP
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.