Tunnel SSH in background


17

Ho un processo che prevede una corretta esecuzione di una connessione tunnel ssh e sto usando il seguente comando:

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

L'ho eseguito con successo per 8 mesi, recentemente il nostro provider di hosting ha dovuto apportare modifiche hardware per aggiornare la nostra macchina e ha aggiornato la nostra macchina con un nuovo kernel per Ubuntu. È passato da 4.8.3-x86_64-linode76 a 4.8.6-x86_64-linode78.

Dopo un sacco di problemi abbiamo dovuto aggiornare il comando a questo:

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

Durante la ricerca della documentazione ssh il parametro -f

Richiede ssh per passare in background appena prima dell'esecuzione del comando. Questo è utile se ssh chiederà password o passphrase, ma l'utente lo desidera in background. Questo implica -n. Il modo raccomandato per avviare i programmi X11 in un sito remoto è con qualcosa come ssh -f host xterm.

Durante la ricerca del comando bash per "&"

Posiziona un processo in background (vedi multitasking in "Uso intermedio di> Il sistema operativo UNIX").

C'è fondamentalmente qualche differenza in questi 2 comandi?

Risposte:


22

Si C'è. ssh &viene eseguito sshin background fin dall'inizio. ssh -finizia sshin primo piano, consentendogli di richiedere password, ecc., e solo successivamente si sshmette in background appena prima di eseguire il comando richiesto.


hai qualche idea sul perché con il nuovo server sarei costretto a usare ssh -f anziché ssh &. Oltre a ciò, sembra che ssh -f sia un approccio migliore, saresti d'accordo?
Develop4fun2011

Forse il nuovo sistema ha un client ssh più recente (o semplicemente diverso)?
AlexP
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.