|  Início
Ajuda

Hospedagem web e clássica Ajuda

Bip-bip-bip...computando...computando...iniciando sequência 42...
Parece que aqueles robôs malucos estão aprontando de novo! Eles "invadiram" o site e traduziram esta página para o seu idioma. Seus coraçõezinhos de metal tinham as melhores intenções. Eles só queriam ajudar! Use os botões na parte inferior da página para nos contar se os robôs estão fazendo um bom trabalho. Ir para Versão em Inglês

Como configurar um limite SSH

Como configurar um período de tempo limite distinta para conexões SSH em seu servidor é um passo importante e simple para manter a segurança e estabilidade do servidor. A ferramenta de daemon SSH comum encontrada na maioria das distribuições Linux facilita lidar com esse processo e configurações adicionais shell até mesmo oferecem a habilidade de desconectar usuários ociosos se necessário.

DIFICULDADE EM Basic - 1 | Média - 2 | Avançado - 3
TEMPO NECESSÁRIO 10 min
PRODUTOS RELACIONADOS VPS baseadas em Linux ou servidores dedicados
Baseado em Linux de hospedagem compartilhada

Gerenciamento de tempo limite do servidor SSH

Para tratar facilmente desligados ou até mesmo ociosos clientes conectados por SSH em seu servidor, você irá querer olhar para o problema de dois ângulos: ClientAlive e acabamento TMOUT.

Configurações de ClientAlive SSH

Quando um cliente se conectar remotamente via SSH ao seu servidor (configurado corretamente) baseadas em Linux, o servidor será executado uma série de solicitações de manutenção de atividade para clientes conectados em intervalos designados. Após a cada execução, o servidor envia um pacote ao cliente para verificar se a conexão do cliente é ainda válida ou funcionais. Caso esse pacote de manutenção de atividade do exchange nunca falha do servidor pode automaticamente servidor essa conexão. Para garantir que seu servidor termina nenhum cliente SSH que não responda corretamente você deve editar seu sshd_config arquivo. Para a maioria das distribuições a sshd_config está localizado no /etc/ssh diretório, exceto se necessário, você sempre pode localizá-lo com uma rápida encontrar:

find / -name sshd_config
/etc/ssh/sshd_config
/usr/share/doc/openssh-client/examples/sshd_config

Para começar, abra o sshd_config arquivo no seu editor de texto favorito (como vim ou nano – estamos usando nano aqui):

nano /etc/ssh/sshd_config
# Package generated configuration file
# See the sshd_config(5) manpage for details
# What ports, IPs and protocols we listen for
Port 22
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress 0.0.0.0
...

Há três configurações, você deve localizar — ou adicionar se necessário — em seu sshd_config arquivo:

  • ClientAliveCountMax
  • ClientAliveInterval
  • TCPKeepAlive

Abaixo estão as configurações padrão para a maioria das instalações de daemon SSH:

ClientAliveCountMax 3
ClientAliveInterval 0
TCPKeepAlive yes

ClientAliveIntervalDetermina como frequentemente uma criptografada (e, portanto, é difícil-a-falso). TCPKeepAlivepacotes são transmitidas ao cliente (em segundos). Essa configuração funciona em conjunto com ClientAliveCountMax , que determina quantos KeepAlive pacotes serão transmitidas para o cliente, sem resposta antes que a conexão será encerrada.

Com uma configuração padrão de zero segundos para o ClientAliveInterval , a maioria das instalações do SSH daemon não transmita essas TCPKeepAlive pacotes.

Você pode facilmente habilitar ClientAlive transmissão de pacotes por alterar ou essas configurações no seu sshd_config arquivo. Por exemplo, para enviar um máximo de 4 pacotes no intervalo de 15 segundos distantes, adicionar essas linhas para o sshd_config arquivo:

ClientAliveCountMax 4
ClientAliveInterval 15

A terceira configuração de TCPKeepAlive comporta-se da mesma forma que o ClientAliveCountMax e ClientAliveInterval duo, exceto TCPKeepAlive usa pacotes descriptografados (enviados através do protocolo TCP) para verificar que os clientes ainda estão conectados.

Como habilitar TCPKeepAlive garante que não haja qualquer "ghost" conexões de clientes ao seu servidor que pode consumir recursos. Por outro lado, se não houver nenhum dificuldades internet temporário que podem servidor a conexão entre um cliente SSH conectado e do servidor, o TCPKeepAlive protocolo pode desconectar esse usuário.

Para ativar (ou desativar) TCPKeepAlive , defina o valor no sshd_config arquivo Sim ou não:

# Enables TCPKeepAlive
TCPKeepAlive yes

Normalmente depois de fazer alterações nos seus sshd_config de arquivos, certifique-se de salvar o arquivo e reiniciar o daemon SSH:

service ssh restart

Desconectar-se clientes ocioso SSH

Enquanto o uso do ClientAlive e TCPKeepAlive configurações no seu sshd_config fará todas as conexões que foram danificados incorretamente, que não tem impacto sobre conexões de cliente SSH são simplesmente ociosas por um período extenso. Se a segurança é fundamental, você poderá cortar ociosas conexões SSH ao seu servidor.

Para a maioria das distribuições de Linux, desconectar um cliente ocioso pode facilmente processada usando o bash TMOUT definindo dentro do seu arquivo bashrc. Como você provavelmente irá querer especificar configurações que se aplicam a todos os usuários, você deve editar os /etc/bash.bashrc arquivo (para abrir as configurações específicas do usuário ~/.bashrc em vez disso):

nano /etc/bash.bashrc
# System-wide .bashrc file for interactive bash(1) shells.
# To enable the settings / commands in this file for login shells as well,
# this file has to be sourced in /etc/profile.
...

Para adicionar uma desconexão cliente ocioso, basta adicionar o seguinte no final do bash.bashrc arquivo:

TMOUT=300
readonly TMOUT
export TMOUT

A configuração TMOUT é a quantidade de segundos que um cliente pode ficar conectado e ocioso antes de um tempo limite é detectado e a conexão for interrompida pelo servidor. Você pode usar um valor bem pequeno inicialmente para testar suas configurações, mas um valor máximo deve ser usado em produção.

Depois que as configurações forem alteradas e bash.bashrc foi salvo, você pode agora abrir uma nova conexão SSH com seu servidor e o tempo de espera. Depois que sua definido TMOUT período sua conexão será interrompida:

account@ubuntu:~# date
Wed Oct 15 03:09:41 EDT 2014
account@ubuntu:~# ssh root@123.123.456.78
root@Main:~# date
Wed Oct 15 03:09:47 EDT 2014
root@Main:~# timed out waiting for input: auto-logout
Connection to 123.123.456.78 closed
account@ubuntu:~# date
Wed Oct 15 03:14:53 EDT 2014

Seguir essas práticas básicas garantirá mais segurança e estabilidade para todas as conexões SSH ao seu servidor.


Este artigo foi útil?
Agradecemos seus comentários. Para falar com um representante do atendimento ao cliente, ligue para o suporte ou utilize a opção de bate-papo acima.
Ficamos felizes em ajudar! Há algo mais que possamos fazer por você?
Mil desculpas. Conte-nos o que estava confuso ou por que a solução não resolveu o seu problema.