52 votes

Le protocole SSH utilise-t-il la compression ?

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 ?

57voto

pgb Points 1445

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).

30voto

arathorn Points 8699

Vous pouvez activer la compression gzip sur n'importe quel SSH. Mettez Compression yes dans votre ~/.ssh/config et cela devrait fonctionner. Vous pouvez également essayer d'exécuter ssh avec le -C option.

12voto

Rog Points 151

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

1voto

krad Points 111

Le plus simple est d'utiliser l'option -o, sur le client. Elle peut être utilisée avec n'importe quelle option de configuration, par exemple

ssh -o "Compression no" -v <HOST>
# or
ssh -o "Compression yes" -v <HOST>

0voto

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.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X