Sabe de um truque para sustentar conexões ssh silenciosas de desconexões automáticas de firewall?

2

Nosso firewall corporativo é configurado para desconectar conexões ssh após 30 minutos de inatividade. Às vezes, preciso executar uma operação em um servidor que requer uma conexão sustentada que exceda esse período, mas que meu shell parece inativo (pelo menos para o firewall).

Parece que abrir uma segunda conexão ssh com atividade contínua (por exemplo, em execução no topo) não é suficiente para sustentar o shell. Eu preferiria não definir o processo para o segundo plano e, em seguida, colocar em primeiro plano algo mais interativo, porque qualquer alerta ou aviso pode escapar da minha atenção. Eu poderia periodicamente, repetidamente apertar a tecla de retorno na janela do shell a cada x-minutos, mas isso é indesejável.

Alguns programas, como o sweep (da Sophos), possuem um cursor que gira no shell, sustentando a conexão (ou seja, ele passa por \ | / - e assim por diante). Isso funciona bem.

Existe algum truque, talvez associado ao bash, que poderia servir a esse propósito?

    
por flumignan 28.04.2011 / 01:03

2 respostas

3

No seu .ssh / config no seu cliente, tente adicionar algo assim.

Host *
      ServerAliveInterval 60

man ssh_config

 ServerAliveInterval
         Sets a timeout interval in seconds after which if no data has
         been received from the server, ssh(1) will send a message through
         the encrypted channel to request a response from the server.  The
         default is 0, indicating that these messages will not be sent to
         the server...

Do putty, você deseja ajustar o Connection\Seconds between keepalives para um valor diferente de zero.

    
por 28.04.2011 / 01:09
1

Se estiver rodando em uma sessão screen - você pode adicionar contadores "carga do sistema" na parte inferior da tela (ou data / hora do sistema - adicionando algo como caption always "%d.%m.%y %0c%{=b kW}" ao seu .screenrc), o que gerar, de forma não regular, alguma saída secundária (redesenhando números de carga ou data / hora).

É assim que parece - canto inferior esquerdo, carga do sistema

Umasoluçãoaindamenosdireta:)(comoskeepalivessendoosmaisretos)seriateralgumshellscriptrodandoembackgroundegerandoalgumasaídaparastderracada30-60segundos...E.g.whiletrue;doecho"ding" > /dev/stderr; sleep 30; done & .

    
por 28.04.2011 / 01:26