4 maneiras de acelerar as conexões SSH no Linux

4 maneiras de acelerar as conexões SSH no Linux

Ssh é o método mais popular e seguro para gerenciar servidores Linux remotamente. Um dos desafios com o gerenciamento de servidor remoto são as velocidades de conexão, especialmente quando se trata de criação de sessões entre as máquinas remotas e locais.

Existem vários gargalos nesse processo, um cenário é quando você está se conectando a um servidor remoto pela primeira vez; Normalmente leva alguns segundos para estabelecer uma sessão. No entanto, quando você tenta iniciar várias conexões em sucessão, isso causa uma sobrecarga (combinação de excesso ou tempo de computação indireta, memória, largura de banda ou outros recursos relacionados para realizar a operação).

Neste artigo, compartilharemos quatro dicas úteis sobre como acelerar conexões SSH remotas no Linux.

1. Força a conexão SSH sobre IPv4

O OpenSSH suporta IPv4/IP6, mas às vezes IPv6 As conexões tendem a ser mais lentas. Portanto, você pode considerar forçar apenas as conexões SSH sobre o IPv4, usando a sintaxe abaixo:

# ssh -4 [email protegido] 

Como alternativa, use o Família de endereço (Especifica a família de endereços para usar ao conectar) Diretiva em seu arquivo de configuração SSH /etc/ssh/ssh_config (configuração global) ou ~/.ssh/config (arquivo específico do usuário).

Os valores aceitos são “qualquer","INET”Para apenas IPv4, ou“INET6”.

$ vi ~.ssh/config 
Desative as conexões SSH no IPv6

Aqui está um guia de partida útil sobre a configuração do arquivo de configuração SSH específico do usuário:

  1. Como configurar conexões SSH personalizadas para simplificar o acesso remoto

Além disso, na máquina remota, você também pode instruir o daemon sshd a considerar as conexões sobre o IPv4 usando a diretiva acima no /etc/ssh/sshd_config arquivo.

2. Desative a pesquisa DNS em máquina remota

Por padrão, o SSHD Daemon procura o nome do host remoto e também verifica se o nome do host resolvido para o endereço IP remoto mapeia o mesmo endereço IP. Isso pode resultar em atrasos no estabelecimento de conexão ou criação de sessão.

O Usadons A diretiva controla a funcionalidade acima; Para desativá -lo, procure e descompor -o no /etc/ssh/sshd_config arquivo. Se não estiver definido, adicione -o com o valor não.

Usadons não 
Desative a pesquisa SSH DNS

3. Reutilizar a conexão SSH

Um programa de clientes SSH é usado para estabelecer conexões com um daemon SSHD que aceita conexões remotas. Você pode reutilizar uma conexão já estabelecida ao criar uma nova sessão SSH e isso pode acelerar significativamente as sessões subsequentes.

Você pode ativar isso em seu ~/.ssh/config arquivo.

Host * ControlMaster Auto ControlPath ~/.SSH/Sockets/%[Email Protected]%H-%P Controlpersist 600 

A configuração acima (Hospedar *) permitirá a reutilização da conexão para todos os servidores remotos que você se conecta ao uso dessas diretivas:

  • ControlMaster - Ativa o compartilhamento de várias sessões em uma única conexão de rede.
  • ControlPath - Define um caminho para o soquete de controle usado para compartilhamento de conexão.
  • ControlPersist - se usado junto com ControlMaster, diz a SSH para manter a conexão mestre aberta em segundo plano (aguardando futuras conexões com clientes) assim que a conexão inicial do cliente for fechada.
Reutilizar conexões SSH

Você pode ativar isso para conexões com um servidor remoto específico, por exemplo:

Host server1 hostname www.exemplo.com identityfile ~//.SSH/WebServer.PEM UserSerName_here ControlMaster Auto ControlPath ~/.SSH/Sockets/%[Email Protected]%H-%P Controlpersist 600 

Dessa forma, você sofre apenas a sobrecarga da conexão para a primeira conexão, e todas as conexões subsequentes serão muito mais rápidas.

4. Use o método de autenticação SSH específico

Outra maneira de acelerar as conexões SSH é usar um determinado método de autenticação para todas as conexões SSH, e aqui recomendamos configurar o login sem senha do SSH usando o SSH Keygen em 5 etapas.

Uma vez feito isso, use o PreferredAuthentications diretiva, dentro ssh_config arquivos (global ou específico do usuário) acima. Esta diretiva define a ordem em que o cliente deve tentar métodos de autenticação (você pode especificar uma lista separada por comando para usar mais de um método).

Preferredauthentications = publicKey 
Método de autenticação SSH

Opcionalmente, use esta sintaxe abaixo da linha de comando.

# ssh -o "preferredAuthentications = publicKey" [email protegido] 

Se você preferir a autenticação de senha que é considerada insegura, use isso.

# ssh -o "preferredAuthentications = senha" [email protegido] 

Por fim, você precisa reiniciar seu daemon sshd depois de fazer todas as mudanças acima.

# SystemCtl Reiniciar Sshd #systemd # Serviço SSHD RESTART #SYSVINIT 

Para mais informações sobre as diretivas usadas aqui, consulte o ssh_config e sshd_config Páginas de homem.

# homem ssh_config # man sshd_config 

Confira também estes guias úteis para proteger o SSH nos sistemas Linux:

  1. 5 melhores práticas para proteger e proteger o servidor SSH
  2. Como desconectar conexões SSH inativas ou inativas

É tudo por agora! Você tem alguma dica/truques para acelerar as conexões SSH. Gostaríamos muito de saber de outras maneiras de fazer isso. Use o formulário de comentário abaixo para compartilhar conosco.