Je suis curieux, SSH compresse-t-il ses données avant de les envoyer / recevoir? S'il ne le fait pas par défaut, peut-il être activé?
Non et oui. Genre de. Ce qui veut dire qu’il supporte la compression (zlib ou zlib-ish, si je me souviens bien), mais une copie d’OpenSSH ne l’a pas activée par défaut, bien que certaines distributions puissent l’activer par défaut (je ne pense pas qu’Ubuntu le fasse). ).
Voir man ssh_config
pour plus de détails. Vous recherchez les options Compression
et CompressionLevel
, que vous pouvez ensuite définir dans /etc/ssh/ssh_config
.
Notez qu'il existe également une option 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 par session en utilisant l’option de ligne de commande -C
.
Notez que la compression peut avoir un impact sur les performances légèrement négatif si la connexion entre vous et le serveur est rapide (par exemple sur le même réseau local ou uniquement sur de bonnes connexions Internet) a un processeur lent (la compression consomme un peu de temps CPU).
Ces jours-ci, pour la plupart des gens, je suggère de l’utiliser uniquement au besoin. Généralement, pour les liens de moins de 5-10Mbps et uniquement lors du passage de données en masse (transferts de fichiers non déjà compressés, transfert X11 ou VNC, etc.).
À partir de la page de manuel ssh (tapez man ssh
pour voir le tout):
-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.
Alors changez simplement:
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 l'énergie du noyau en ne permettant pas la compression pour cela. Par exemple, à cause de cela, j'ai modifié l'emplacement de l'hôte de certaines données de Strato sur un serveur. Je l'ai reconnu en raison de l'utilisation d'une connexion de téléchargement lente de 2Mbit et de téléchargement de 0,3Mbit et j'ai vérifié la différence de vitesse selon le niveau de compression, car le niveau supérieur n'est pas toujours plus rapide.
mais dans mon cas, cela fait du bon travail car il réduit le temps nécessaire à un 6ème du temps auparavant.
Lire d'autres questions sur les étiquettes ssh