Como configurar um túnel ssh em segundo plano que pode ser encerrado automaticamente com o terminal / sessão?

0

O que eu quero é seguir:

  1. Eu poderia configurar um túnel ssh no fundo de uma máquina Linux (na verdade, eu gostaria de configurá-lo no meu .bashrc)
  2. Eu poderia executar o processo usando este encapsulamento como qualquer usuário nesta máquina a qualquer momento, somente se o processo de encapsulamento ssh estiver ativo.
  3. Quando eu saio do terminal / sessão, o túnel ssh também deve sair também.

Eu sei que eu poderia estabelecer um túnel ssh em segundo plano no Linux da seguinte forma:

ssh -Nf -L 8000:1.2.3.4:8000 [email protected]

Enquanto no momento eu saio deste terminal / sessão, este túnel ssh ainda seria executado em segundo plano.

Como fazê-lo também sair automiticamente?

Para o meu caso, eu preciso definir um túnel SSH quase toda vez que eu fizer login no meu servidor (para contornar o firewall estúpido da empresa). Enquanto, por outro lado, prefiro não deixar nada depois do meu logout.


Por favor note:
Este link não atende aos meus requisitos. Como requer que eu inicie meu processo logo após o processo de túnel ssh, e se minha primeira tarefa com o ssh tunnel tiver terminado, preciso configurar o túnel ssh novamente para uma segunda tarefa. Por outro lado, se eu definir um tempo de sono longo, o túnel ssh não será encerrado com o meu terminal.

Talvez a edição de .bash_logout seja possível? Espero que haja uma solução inteligente para que não haja scripts envolvidos.

    
por Qiu Yangfan 13.01.2016 / 10:07

1 resposta

1

O arquivo ~ / .bashrc é carregado quando o login do usuário específico para a máquina, qualquer processo iniciado pelo arquivo bashrc terá a sessão do usuário como o processo pai. Agora, a menos que a sessão do usuário termine, o processo não terminará automaticamente.

Eu não acho que seria sensato usar o comando tunneling no seu arquivo bashrc. Em vez disso, você pode criar um alias do comando tunneling no arquivo bashrc. Invoque o alias em um determinado terminal, e quando você fechar esse terminal, o túnel irá parar, porque agora o pai desse túnel será o terminal.

Espero que isso ajude.

    
por 15.01.2016 / 08:30

Tags