Je suis curieux de savoir si SSH compresse ses données avant de les envoyer ou de les recevoir. Si ce n'est pas le cas par défaut, est-il possible de l'activer ?
Réponses
Trop de publicités?Non et oui. En quelque sorte. C'est-à-dire qu'il supporte la compression (zlib ou zlib-ish, si je me souviens bien), mais une copie standard d'OpenSSH ne l'active pas par défaut, bien que certaines distributions puissent l'activer par défaut (je ne pense pas qu'Ubuntu le fasse).
Véase man ssh_config
pour plus de détails. Vous recherchez le Compression
y CompressionLevel
que vous pouvez ensuite définir dans /etc/ssh/ssh_config
.
Notez qu'il existe également un Compression
pour le côté serveur dans sshd_config
qui détermine si la compression est autorisée (par défaut). Encore une fois, voir man sshd_config
pour plus de détails.
Vous pouvez également activer la compression pour chaque session en utilisant l'option de ligne de commande suivante -C
.
Notez que la compression peut en fait avoir un effet légèrement négatif l'impact sur les performances si la connexion entre vous et le serveur est rapide (par exemple, sur le même réseau local ou simplement sur de très bonnes connexions internet) ou si l'une des parties ou les deux parties ont un processeur lent (la compression consomme une bonne partie du temps du processeur).
De nos jours, pour la plupart des gens, je suggérerais de ne l'utiliser qu'en cas de besoin. Typiquement pour des liens de moins de 5-10mbps et seulement quand il s'agit de passer beaucoup de données en vrac (transferts de fichiers pas encore compressés, transfert X11 ou VNC, des choses comme ça).
A partir de la page de manuel ssh (tapez man ssh
pour voir l'ensemble) :
-C Requests compression of all data (including stdin, stdout,
stderr, and data for forwarded X11 and TCP connections). The
compression algorithm is the same used by gzip(1), and the
“level” can be controlled by the CompressionLevel option for pro-
tocol version 1. Compression is desirable on modem lines and
other slow connections, but will only slow down things on fast
networks. The default value can be set on a host-by-host basis
in the configuration files; see the Compression option.
Il suffit donc de changer :
ssh hostname
à :
ssh -C hostname
Vous pouvez activer la compression avec -C
mais cela ne fonctionnera pas si le serveur n'est pas autorisé à dépenser la puissance du noyau pour cela en n'autorisant pas la compression. Par exemple, c'est pour cette raison que j'ai changé l'emplacement de l'hôte de certaines de mes données de Strato vers un de mes serveurs. Je l'ai reconnu en raison de l'utilisation d'une connexion lente de 2Mbit en téléchargement et de 0,3Mbit en upload et j'ai vérifié la différence de vitesse en fonction du niveau de compression, car un niveau plus élevé n'est pas toujours plus rapide car il absorbe la puissance de votre processeur ou la puissance du serveur.
mais dans mon cas, il fait du bon travail puisqu'il réduit le temps nécessaire à un sixième du temps précédent.