4 façons d'accélérer les connexions SSH dans Linux

4 façons d'accélérer les connexions SSH dans Linux

Ssh est la méthode la plus populaire et la plus sécurisée pour gérer les serveurs Linux à distance. L'un des défis avec la gestion des serveurs distants est les vitesses de connexion, surtout en ce qui concerne la création de session entre les machines distantes et locales.

Il y a plusieurs goulots d'étranglement à ce processus, un scénario est lorsque vous vous connectez à un serveur distant pour la première fois; Il faut normalement quelques secondes pour établir une session. Cependant, lorsque vous essayez de démarrer plusieurs connexions successivement, cela provoque une surcharge (combinaison de temps de calcul excédentaire ou indirect, de mémoire, de bande passante ou d'autres ressources connexes pour effectuer l'opération).

Dans cet article, nous partagerons quatre conseils utiles sur la façon d'accélérer les connexions SSH à distance dans Linux.

1. Force la connexion SSH sur IPv4

OpenSSH prend en charge les deux IPv4 / IP6, mais parfois Ipv6 Les connexions ont tendance à être plus lentes. Vous pouvez donc envisager de forcer les connexions SSH sur IPv4 uniquement, en utilisant la syntaxe ci-dessous:

# ssh -4 [e-mail protégé] 

Alternativement, utilisez le Addomfamily (Spécifie la famille d'adresses à utiliser lors de la connexion) Directive dans votre fichier de configuration SSH / etc / ssh / ssh_config (configuration globale) ou ~ /.ssh / config (fichier spécifique de l'utilisateur).

Les valeurs acceptées sont «n'importe quel","inédire«Pour IPv4 uniquement, ou«INET6".

$ vi ~.ssh / config 
Désactiver les connexions SSH sur IPv6

Voici un guide de démarrage utile sur la configuration du fichier de configuration SSH spécifique à l'utilisateur:

  1. Comment configurer les connexions SSH personnalisées pour simplifier l'accès à distance

De plus, sur la machine distante, vous pouvez également demander au démon sshd d'envisager des connexions sur IPv4 en utilisant la directive ci-dessus dans le / etc / ssh / sshd_config déposer.

2. Désactiver la recherche DNS sur la machine distante

Par défaut, SSHD Daemon recherche le nom d'hôte distant et vérifie également que le nom d'hôte résolu pour l'adresse IP distante revient à la même adresse IP. Cela peut entraîner des retards dans l'établissement de connexion ou la création de session.

Le Usages La directive contrôle la fonctionnalité ci-dessus; Pour le désactiver, la recherche et la découverte dans le / etc / ssh / sshd_config déposer. S'il n'est pas défini, ajoutez-le avec la valeur Non.

Usages non 
Désactiver la recherche SSH DNS

3. Réutiliser la connexion SSH

Un programme client SSH est utilisé pour établir des connexions à un démon SSHD acceptant les connexions distantes. Vous pouvez réutiliser une connexion déjà établie lors de la création d'une nouvelle session SSH et cela peut considérablement accélérer les séances ultérieures.

Vous pouvez activer cela dans votre ~ /.ssh / config déposer.

Hôte * ControlMaster Auto ControlPath ~ /.SSH / SOCKETS /% [Protégé par e-mail]% H-% P ControlPersiste 600 

La configuration ci-dessus (Héberger *) permettra une réutilisation de connexion pour tous les serveurs distants auxquels vous vous connectez à l'aide de ces directives:

  • Maître de contrôle - Active le partage de plusieurs sessions sur une seule connexion réseau.
  • Chemin de contrôle - Définit un chemin vers la prise de contrôle utilisée pour le partage de connexion.
  • Contrôleur de contrôle - s'il est utilisé avec Maître de contrôle, dit à SSH de garder la connexion principale ouverte en arrière-plan (en attendant les futures connexions du client) une fois la connexion client initiale fermée.
Réutiliser les connexions SSH

Vous pouvez l'activer pour les connexions à un serveur distant spécifique, par exemple:

Host server1 hostname www.exemple.com identityfile ~ /.SSH / Webserver.PEM User username_here ControlMaster Auto ControlPath ~ /.SSH / SOCKETS /% [Protégé par e-mail]% H-% P ControlPersiste 600 

De cette façon, vous ne souffrez que les frais généraux de connexion pour la première connexion, et toutes les connexions ultérieures seront beaucoup plus rapides.

4. Utilisez une méthode d'authentification SSH spécifique

Une autre façon d'accélérer les connexions SSH est d'utiliser une méthode d'authentification donnée pour toutes les connexions SSH, et ici nous vous recommandons de configurer la connexion sans mot de passe SSH à l'aide de SSH Keygen en 5 étapes faciles.

Une fois cela fait, utilisez le Aauthentications privilégiées directive, à l'intérieur ssh_config Fichiers (globaux ou spécifiques à l'utilisateur) ci-dessus. Cette directive définit l'ordre dans lequel le client doit essayer les méthodes d'authentification (vous pouvez spécifier une liste séparée par commande pour utiliser plus d'une méthode).

Aauthentications privilégiées = PublicKey 
Méthode d'authentification SSH

Facultativement, utilisez cette syntaxe ci-dessous à partir de la ligne de commande.

# ssh -o "PreferredAuthentications = publicKey" [e-mail protégé] 

Si vous préférez l'authentification du mot de passe qui n'est pas sécurisé, utilisez-le.

# ssh -o "PreferredAuthentications = mot de passe" [e-mail protégé] 

Enfin, vous devez redémarrer votre démon sshd après avoir apporté tous les changements ci-dessus.

# systemctl redémarrer sshd #Systemd # service sshd redémarrage #SysVinit 

Pour plus d'informations sur les directives utilisées ici, consultez le ssh_config et sshd_config pages d'homme.

# man ssh_config # man sshd_config 

Consultez également ces guides utiles pour sécuriser SSH sur les systèmes Linux:

  1. 5 meilleures pratiques pour sécuriser et protéger le serveur SSH
  2. Comment déconnecter les connexions SSH inactives ou inactives dans Linux

C'est tout pour le moment! Avez-vous des conseils / astuces pour accélérer les connexions SSH. Nous serions ravis d'entendre d'autres façons de faire cela. Utilisez le formulaire de commentaire ci-dessous pour partager avec nous.