Impedir o tempo limite da conexão SSH / tubulação quebrada

Tanto como um usuário de Windows bem como por Mac (nos últimos 10 anos) passei muito tempo em Conexões SSH para servidores web, servidores de e-mail, nuvem e outros pacotes de backup. Distribuição favorita de Linux é, sem dúvida CentOS.

Uma das coisas mais estressantes para fazer administratorii servidor é interromper conexões SSH. De repente, enquanto abotoava em Putty ou Terminal (na maioria das vezes é um problema de conexão local), ou após um tempo de "inativo”- o período de tempo em que não interage com o servidor remoto por meio da sessão SSH.

Se você estiver usando o Mac e use o utilitário Terminal para a conexão remota via SSH, certamente após alguma inatividade você foi desconectado com a mensagem:client_loop: enviar desconexão: tubo quebrado”. Eu dei a solução em o artigo aqui, em que eu disse que pode ser adicionado em "/etc/ssh/ssh_config" a linha:

Host *
ServerAliveInterval 120

A solução acima é válida para usuários de Mace, honestamente, ser as últimas atualizações de macOS Não me importo restart alterações feitas no arquivo "ssh_config", E o problema com a desconexão de uma sessão ociosa retorna.

Uma solução pela qual podemos evitar a desconexão de uma sessão SSH à distância definida por Terminal (macOS) ou massa de vidraceiro (Windows), é como além de “ServerAliveInterval”De nosso computador, para determinar o servidor remoto para se comunicar periodicamente com o aplicativo / cliente SSH.
É por isso que temos que colocar a diretiva "ClientAliveInterval"Em"sshd_config”No servidor ao qual estamos nos conectando.

Impedir o tempo limite da conexão SSH / tubulação quebrada (dicas ssh_config)

1. Conectamos ao servidor que desejamos ativar e definimos um intervalo de tempo para "ClientAliveInternal". Abrimos o SSH no Putty, Terminal ou outro utilitário semelhante e autenticamos com o usuário root.

ssh root@server.hostname

2. Execute a linha de comando para pesquisar o arquivo “sshd_config” se “ClientAliveInterval” estiver ativo e o período de tempo definido.

sudo grep "ClientAliveInterval" /etc/ssh/sshd_config

Em nosso cenário, "ClientAliveInterval" está desabilitado e o valor do intervalo de tempo é zero.

[root@buffy ~]# sudo grep "ClientAliveInterval" /etc/ssh/sshd_config
#ClientAliveInterval 0
[root@buffy ~]# 

A hashtag "#"Colocado na frente de uma linha, cancela-o. Ela está inativa.

3. Abrimos com o editor "nano"Ou"vim"Arquivo"sshd_config“. Eu prefiro "nano".

sudo nano /etc/ssh/sshd_config

4. Exclua “#"Na frente da linha"ClientAliveInterval”E definir um número de segundos: 60, 120 ...

ClientAliveInterval 120
ClientAliveCountMax 10

5. Salve as alterações e restartEu tenho o serviço "sshd".

sudo systemctl restart sshd

ClientAliveInterval : É o intervalo de tempo em segundos que o servidor envia um pacote de dados nulo ao cliente / aplicativo através do qual estamos conectados ao servidor. Esta prática manterá a conexão viva / ativa.

ClientAliveCountMax : Clientes SSH que não respondem em 10 ciclos de 120 segundos (definido por “ClientAliveInterval”) a conexão será interrompida. Ou seja, após 20 minutos em que o cliente SSH não respondeu aos pacotes nulos enviados pelo servidor.

Com essas mudanças, a conexão SSH ficará mais estável e permanecerá tão segura.

Como » notável » Impedir o tempo limite da conexão SSH / tubulação quebrada

Apaixonado por tecnologia, gosto de testar e escrever tutoriais sobre sistemas operacionais macOS, Linux, Windowssobre WordPress, WooCommerce e configurar servidores web LEMP (Linux, NGINX, MySQL e PHP). eu escrevo em StealthSettings.com desde 2006, e alguns anos depois, comecei a escrever no iHowTo.Tips tutoriais e notícias sobre dispositivos no ecossistema Apple: iPhone, iPad, Apple Assistir, HomePod, iMac, MacBook, AirPods e acessórios.

Deixe um comentário