Eu tenho um processo que espera que uma conexão de encapsulamento ssh seja executada corretamente e tenho usado o seguinte comando:
ssh -L localhost:3306:127.0.0.1:3306 username@<mysql-machine-ip-address> -N &
Eu executei isso com sucesso por 8 meses; recentemente, nosso provedor de hospedagem precisou fazer alterações no hardware para atualizar nossa máquina e atualizou nossa máquina com um novo kernel para o Ubuntu. Passou de 4.8.3-x86_64-linode76 para 4.8.6-x86_64-linode78.
Após vários problemas, tivemos que atualizar o comando para isso:
ssh -L localhost:3306:127.0.0.1:3306 username@<mysql-machine-ip-address> -fN
Ao pesquisar a documentação ssh, o parâmetro -f
Solicita que o ssh volte ao segundo plano imediatamente antes da execução do comando. Isso é útil se o ssh solicitar senhas ou frases secretas, mas o usuário desejar em segundo plano. Isso implica -n. A maneira recomendada de iniciar programas X11 em um site remoto é com algo como ssh -f host xterm.
Ao pesquisar o comando bash para "&"
Coloque um processo em segundo plano (consulte multitarefa em "Uso intermediário do> Sistema operacional UNIX").
Existe fundamentalmente alguma diferença nesses 2 comandos?