O shell do usuário no aws morre em 20 minutos

1

Eu uso um servidor da AWS e shells ( bash ) sob minhas tmux sessões morrem após 20 minutos de inatividade.

Eu faço ssh -t myserver tmux new-session , depois C-b d para separar.

Então

$ while sleep 60; do
    date -u +'%F %T'
    ssh myserver tmux ls 2>/dev/null
  done

e em cerca de 20 minutos a sessão desaparece.

No entanto, se eu tiver duas janelas em tmux e iniciar outro processo em uma delas ( less ou vi ou sudo su - ou ...), a segunda janela (simples bash ) desaparece em 20 minutos enquanto o primeiro ( vim & c) continua vivo.

Eu usei o AWS antes (com tmux e screen ), e esta é a primeira vez que vejo esse comportamento.

Como evito isso?

PS. Isso não está relacionado a ssh timeouts ( ServerAliveInterval ); Eu não estou conectado por ssh quando o shell é morto.

PPS. Eu perguntei isso em serverfault e não tenho nada, espero que seja mais relevante aqui.

    
por sds 26.08.2016 / 17:31

1 resposta

0

Eu tive um problema semelhante, mas não estava necessariamente relacionado à AWS.

Eu procurei em /etc/profile e encontrei export TMOUT=$((60*60)) . A partir dos documentos do bash :

If set to a value greater than zero, TMOUT is treated as the default timeout for the read builtin (see Bash Builtins). The select command (see Conditional Constructs) terminates if input does not arrive after TMOUT seconds when input is coming from a terminal.

In an interactive shell, the value is interpreted as the number of seconds to wait for a line of input after issuing the primary prompt. Bash terminates after waiting for that number of seconds if a complete line of input does not arrive.

A adição de unset TMOUT a $USER/.profile (ou .bash_profile , .bash_login , etc.) a corrigiu.

    
por 05.01.2017 / 17:41