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.