Ich habe einen Prozess, der erwartet, dass eine SSH-Tunnelverbindung korrekt ausgeführt wird, und ich habe den folgenden Befehl verwendet:
ssh -L localhost:3306:127.0.0.1:3306 username@<mysql-machine-ip-address> -N &
Ich habe dies 8 Monate lang erfolgreich ausgeführt. Vor kurzem musste unser Hosting-Anbieter Hardware-Änderungen vornehmen, um unseren Computer zu aktualisieren, und unseren Computer mit einem neuen Kernel für Ubuntu aktualisiert haben. Es ging von 4.8.3-x86_64-linode76 auf 4.8.6-x86_64-linode78.
Nach einigen Problemen mussten wir den Befehl folgendermaßen aktualisieren:
ssh -L localhost:3306:127.0.0.1:3306 username@<mysql-machine-ip-address> -fN
Bei der Recherche in der ssh-Dokumentation den Parameter -f
Fordert ssh auf, kurz vor der Befehlsausführung in den Hintergrund zu gehen. Dies ist nützlich, wenn ssh nach Passwörtern oder Passphrasen fragen soll, der Benutzer dies jedoch im Hintergrund wünscht. Dies impliziert -n. Die empfohlene Methode zum Starten von X11-Programmen an einem Remotestandort ist die Verwendung von ssh -f host xterm.
Bei der Suche nach dem Befehl bash für "&"
Stellen Sie einen Prozess in den Hintergrund (siehe Multitasking unter "Zwischenverwendung von> UNIX-Betriebssystem").
Gibt es grundsätzlich einen Unterschied zwischen diesen beiden Befehlen?
quelle