4 façons d’accélérer les connexions SSH sous 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 de la gestion des serveurs distants est la vitesse de connexion, en particulier lorsqu’il s’agit de créer des sessions entre les machines distantes et locales.
Il existe plusieurs goulots d’étranglement dans ce processus, l’un d’entre eux est lorsque vous vous connectez à un serveur distant pour la première fois ; L’établissement d’une session prend normalement quelques secondes. Toutefois, lorsque vous essayez de démarrer plusieurs connexions successives, cela entraîne une surcharge (combinaison de temps de calcul excessif ou indirect, de mémoire, de bande passante ou d’autres ressources associées pour effectuer l’opération).
Dans cet article, nous allons partager quatre conseils utiles sur la façon d’accélérer les connexions SSH à distance sous Linux.
1. Forcer la connexion SSH via IPV4
OpenSSH prend en charge à la fois IPv4/IP6, mais les connexions IPv6 ont parfois tendance à être plus lentes. Vous pouvez donc envisager de forcer les connexions ssh sur IPv4 uniquement, en utilisant la syntaxe ci-dessous :
# ssh -4 [email
Vous pouvez également utiliser la directive AddressFamily (spécifie la famille d’adresses à utiliser lors de la connexion) dans votre fichier de configuration ssh /etc/ssh/ssh_config (configuration globale) ou ~/.ssh/config (fichier spécifique à l’utilisateur).
Les valeurs acceptées sont « any », « inet » pour IPv4 uniquement, ou « inet6 ».
$ vi ~.ssh/config
Voici un guide de démarrage utile sur la configuration du fichier de configuration ssh spécifique à l’utilisateur :
- Comment configurer des connexions SSH personnalisées pour simplifier l’accès à distance
De plus, sur la machine distante, vous pouvez également demander au démon sshd de prendre en compte les connexions via IPv4 en utilisant la directive ci-dessus dans le fichier /etc/ssh/sshd_config.
2. Désactiver la recherche DNS sur la machine distante
Par défaut, le démon sshd recherche le nom de l’hôte distant et vérifie également que le nom d’hôte résolu pour l’adresse IP distante correspond à la même adresse IP. Cela peut entraîner des retards dans l’établissement de la connexion ou la création de session.
La directive UseDNS contrôle la fonctionnalité ci-dessus ; Pour le désactiver, recherchez-le et décommentez-le dans le fichier /etc/ssh/sshd_config. S’il n’est pas défini, ajoutez-le avec la valeur no.
UseDNS no
3. Réutiliser la connexion SSH
Un programme client ssh est utilisé pour établir des connexions à un démon sshd acceptant les connexions à distance. Vous pouvez réutiliser une connexion déjà établie lors de la création d’une nouvelle session ssh, ce qui peut accélérer considérablement les sessions suivantes.
Vous pouvez l’activer dans votre fichier ~/.ssh/config.
Host *
ControlMaster auto
ControlPath ~/.ssh/sockets/%r@%h-%p
ControlPersist 600
La configuration ci-dessus (Host *) permettra la réutilisation de la connexion pour tous les serveurs distants auxquels vous vous connectez à l’aide de ces directives :
- ControlMaster : permet le partage de plusieurs sessions sur une seule connexion réseau.
- ControlPath : définit un chemin d’accès à la prise de contrôle utilisée pour le partage de connexion.
- ControlPersist : s’il est utilisé avec ControlMaster, indique à ssh de garder la connexion maître ouverte en arrière-plan (en attendant les futures connexions client) une fois que la connexion client initiale a été fermée.
Vous pouvez l’activer pour les connexions à un serveur distant spécifique, par exemple :
Host server1
HostName www.example.com
IdentityFile ~/.ssh/webserver.pem
User username_here
ControlMaster auto
ControlPath ~/.ssh/sockets/%r@%h-%p
ControlPersist 600
De cette façon, vous ne subissez que la surcharge de connexion pour la première connexion, et toutes les connexions suivantes 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 nous vous recommandons ici de configurer la connexion sans mot de passe ssh à l’aide de ssh keygen en 5 étapes faciles.
Une fois cela fait, utilisez la directive PreferredAuthentications, dans 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 des commandes pour utiliser plus d’une méthode).
PreferredAuthentications=publickey
Si vous le souhaitez, utilisez la syntaxe ci-dessous à partir de la ligne de commande.
# ssh -o "PreferredAuthentications=publickey" [email
Si vous préférez l’authentification par mot de passe qui n’est pas considérée comme non sécurisée, utilisez-la.
# ssh -o "PreferredAuthentications=password" [email
Enfin, vous devez redémarrer votre démon sshd après avoir effectué toutes les modifications ci-dessus.
# systemctl restart sshd #Systemd
service sshd restart #SysVInit
Pour plus d’informations sur les directives utilisées ici, reportez-vous aux pages de manuel ssh_config et sshd_config.
# man ssh_config
man sshd_config
Consultez également ces guides utiles pour sécuriser ssh sur les systèmes Linux :
- 5 bonnes pratiques pour sécuriser et protéger le serveur SSH
- Comment déconnecter les connexions SSH inactives ou inactives sous Linux
C’est tout pour l’instant ! Avez-vous des conseils/astuces pour accélérer les connexions SSH ? Nous aimerions entendre parler d’autres façons de le faire. Utilisez le formulaire de commentaire ci-dessous pour partager avec nous.



