abre a conexão ssh no background [duplicado]

1

Eu examinei muitas questões semelhantes sobre isso, mas não encontrei nada para resolver o meu problema.

Gostaria de poder abrir uma conexão ssh com o servidor da minha universidade e manter a conexão aberta em segundo plano. O que eu estou fazendo é eu ssh no servidor uni e executar um script, em seguida, scp um arquivo de lá para o meu controle remoto, como:

$ssh [email protected] "./bin/script"
[email protected]'s password:
$scp [email protected]:~/some_file.txt .
[email protected]'s password:

Eu faço essa sequência de comandos por tonelada e, eventualmente, minha conexão é recusada porque a universidade a confunde com software malicioso. Então, o que eu gostaria de poder fazer é abrir a conexão ssh uma vez, depois mantê-la aberta para que eu possa executar continuamente o script no servidor remoto. Eu não quero abrir a conexão ssh em outro terminal como é muito chato ter dois terminais abertos e constantemente alt + tab'ing para o errado. Certamente deve haver uma maneira de fazer isso, eu realmente aprecio alguma ajuda.

    
por mtveezy 15.03.2016 / 22:38

1 resposta

1

O ssh pode reutilizar as conexões existentes.

Aqui está uma citação de uma resposta por chepner para esta pergunta semelhante sobre estouro de pilha :

  

Se você abrir a primeira conexão com -M :

ssh -M $REMOTEHOST
     

conexões subseqüentes a $REMOTEHOST irão "pegar carona" na conexão estabelecida pelo mestre ssh . Mais notavelmente, a autenticação adicional não é necessária. Veja man ssh_config em "ControlMaster" para mais detalhes. Use -S para especificar o caminho para o soquete compartilhado; Não tenho certeza do que é o padrão, porque configuro o compartilhamento de conexão usando o arquivo de configuração.

     

No meu arquivo .ssh/config , tenho as seguintes linhas:

host *
  ControlMaster auto
  ControlPath ~/.ssh/ssh_mux_%h_%p_%r
     

Dessa forma, não preciso lembrar de usar -M ou -S ; ssh descobre se já existe uma conexão compartilhável para a combinação host / port / username e usa isso se possível.

    
por cmks 15.03.2016 / 23:06