SSH Tunnel no fundo

6

Eu tenho um processo que espera que uma conexão de túnel ssh seja executada corretamente e eu tenho usado o seguinte comando:

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

Eu corri isso com sucesso por 8 meses, recentemente nosso provedor de hospedagem teve que fazer alterações de hardware para atualizar nossa máquina, e atualizou nossa máquina com um novo kernel para o Ubuntu. Ele foi de 4.8.3-x86_64-linode76 para 4.8.6-x86_64-linode78.

Depois de 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 do ssh, o parâmetro -f

Requests ssh to go to background just before command execution. This is useful if ssh is going to ask for passwords or passphrases, but the user wants it in the background. This implies -n. The recommended way to start X11 programs at a remote site is with something like ssh -f host xterm.

Ao pesquisar o comando bash para "&"

Place a process into the background (see multitasking in "Intermediate Use Of >The UNIX Operating System").

Existe fundamentalmente alguma diferença nesses dois comandos?

    
por develop4fun2011 07.12.2016 / 23:59

1 resposta

6

Sim, existe. ssh & corre ssh em segundo plano desde o início. ssh -f inicia ssh em primeiro plano, permitindo que ele solicite senhas, etc., e somente depois ssh se coloca em segundo plano antes de executar o comando solicitado.

    
por 08.12.2016 / 00:35