Tengo un proceso que espera que una conexión de túnel ssh se ejecute correctamente y he estado usando el siguiente comando:
ssh -L localhost:3306:127.0.0.1:3306 username@<mysql-machine-ip-address> -N &
Lo ejecuté con éxito durante 8 meses, recientemente nuestro proveedor de alojamiento tuvo que hacer cambios de hardware para actualizar nuestra máquina, y actualicé nuestra máquina con un nuevo núcleo para Ubuntu. Pasó de 4.8.3-x86_64-linode76 a 4.8.6-x86_64-linode78.
Después de un montón de problemas, hemos tenido que actualizar el comando a esto:
ssh -L localhost:3306:127.0.0.1:3306 username@<mysql-machine-ip-address> -fN
Al investigar la documentación de ssh, el parámetro -f
Solicita a ssh que vaya al fondo justo antes de la ejecución del comando. Esto es útil si ssh va a pedir contraseñas o frases de contraseña, pero el usuario lo quiere en segundo plano. Esto implica -n. La forma recomendada de iniciar programas X11 en un sitio remoto es con algo como ssh -f host xterm.
Al investigar el comando bash para "&"
Coloque un proceso en segundo plano (consulte Multitarea en "Uso intermedio de> El sistema operativo UNIX").
¿Hay fundamentalmente alguna diferencia en estos 2 comandos?
fuente