Não consigo encontrar uma resposta para esta pergunta simples, necessária para documentação de conformidade.
Em uma instalação padrão do CentOS 6.5 (OpenSSH 5.3p1-94.el6), após quanto tempo de inatividade a sessão SSH de um usuário será encerrada? Acredito que o seguinte pode ser definido para aumentar o tempo limite ocioso, mas eles são comentados por padrão.
$ grep -i alive /etc/ssh/sshd_config
#TCPKeepAlive yes
#ClientAliveInterval 0
#ClientAliveCountMax 3
Além disso, existe um comando para despejar uma lista das sshd
configurações atuais ? Não vejo nada man sshd
.
Respostas:
As linhas comentadas
sshd_config
geralmente exibem os padrões. Este é o caso de todas as linhas da sua pergunta. Você pode verificar isso na página desshd_config
manual . Aqui estão os trechos relevantes:fonte
Você pode configurar o keepalive SSH para o lado do cliente ou do servidor:
Lado do cliente
Arquivo:
/etc/ssh/ssh_config
Conteúdo:
Lado do servidor
Arquivo:
/etc/ssh/sshd_config
Conteúdo:
Extraído de: http://www.sysadmit.com/2016/02/linux-y-vmware-ssh-evitar-desconexion.html
fonte
O OpenSSH não encerrará uma sessão de shell que esteja ociosa por algum tempo. Isso não é algo que o OpenSSH faz. O encerramento de uma sessão de shell inativa não está relacionado à configuração do OpenSSH.
As configurações que você está mostrando estão relacionadas ao tempo limite quando a conexão é desativada e não estão relacionadas ao shell no host remoto e ao que o usuário está fazendo ou não fazendo lá.
O shell do host remoto pode terminar (ou pode ser morto por outro processo) após algum tempo ocioso, mas isso não está relacionado à configuração do serviço SSH no servidor e do seu cliente SSH.
Palavras-chave:
TMOUT
variável do shell, que pode ser responsável por encerrar umbash
shell inativo ).Para despejar a
sshd
configuração, use o "modo de teste estendido" como raiz:Isso está documentado no o
sshd(8)
Manual (olhando paraOpenSSH_7.7, LibreSSL 2.7.2
no OpenBSD aqui):Esta opção foi adicionada ao
sshd
OpenSSH 5.1 / 5.1p1 em 2008.fonte
Se o requisito é fechar a conexão SSH após um período de inatividade, os próprios shells fornecem variáveis de tempo limite.
Para o bash:
teste isso executando
TMOUT=10
e aguarde 10 segundos para fechar a conexão.Para tcsh:
No tcsh, a sintaxe para definir o tempo limite por dez minutos é
set autologout=10
. Isso não funciona no csh original.fonte
Se você deseja que o tempo limite seja de 10 segundos para todos, faça o seguinte para a configuração do servidor (sshd_config):
Se você deseja que o tempo limite seja de 10 segundos para clientes locais, faça o seguinte para a configuração do cliente (ssh_config):
Se o parâmetro AliveCountMax for diferente de zero, provavelmente não funcionará porque o servidor responderá redefinindo o timer (a menos que haja um problema de conexão). Você pode ver isso executando o cliente ssh com a depuração ativada.
fonte