Jestem ciekawy, czy SSH kompresuje swoje dane przed wysłaniem / otrzymaniem? Jeśli nie jest domyślnie, to czy można go włączyć?
Nie i tak. Rodzaj. Oznacza to, że obsługuje kompresję (o ile pamiętam, zlib lub zlib-ish), ale standardowa kopia OpenSSH nie ma domyślnie włączonej, choć niektóre dystrybucje mogą ją domyślnie włączać (nie sądzę, że Ubuntu to robi ).
Zobacz man ssh_config
szczegóły. Szukasz opcji Compression
i CompressionLevel
, które możesz następnie ustawić /etc/ssh/ssh_config
.
Zauważ, że istnieje również Compression
opcja po stronie serwera, sshd_config
która określa, czy kompresja jest dozwolona (jest to domyślnie). Ponownie zobacz man sshd_config
szczegóły.
Możesz także włączyć kompresję dla poszczególnych sesji, używając opcji wiersza poleceń -C
.
Pamiętaj, że kompresja może mieć nieco negatywny wpływ na wydajność, jeśli połączenie między tobą a serwerem jest szybkie (np. W tej samej sieci LAN lub tylko na naprawdę dobrych połączeniach internetowych) lub jedna lub obie strony mają wolny procesor (kompresja zjada dość dużo czasu procesora).
W dzisiejszych czasach dla większości osób sugeruję używanie go tylko w razie potrzeby. Zwykle dla łączy mniejszych niż 5-10 Mb / s i tylko przy przekazywaniu dużej ilości danych masowych (transfery plików jeszcze nieskompresowanych, przekazywanie X11 lub VNC, takie rzeczy).
Compression
może byćyes
albono
strona podręcznika mówi ... Dzięki w każdym razie, musiałem go zdekompresować dla mojego telefonu z Androidem ...CompressionLevel
była to opcja dostępna tylko dla protokołu SSH 1, który nie jest już domyślnie włączony w bieżących wersjach OpenSSH.Możesz włączyć kompresję gzip na dowolnym SSH. Włóż
Compression yes
do swojego~/.ssh/config
i powinno działać. Alternatywnie spróbuj uruchomićssh
z-C
opcją.źródło
Na stronie podręcznika ssh (wpisz,
man ssh
aby zobaczyć całość):Więc po prostu zmień:
do:
źródło
możesz włączyć kompresję za pomocą,
-C
ale to nie zadziała, jeśli serwer nie będzie mógł wydać na to mocy jądra, nie pozwalając na kompresję. Na przykład zmieniłem lokalizację hosta niektórych własnych danych ze Strato na mój serwer. Rozpoznałem to ze względu na użycie powolnego pobierania 2Mbit i przesyłania 0,3Mbit i sprawdziłem różnicę prędkości w zależności od poziomu kompresji, ponieważ wyższy poziom nie zawsze jest szybszy, ponieważ zużywa moc procesora lub serwer.ale w moim przypadku wykonuje dobrą robotę, ponieważ skraca potrzebny czas do szóstej wcześniej.
źródło
Najprościej jest użyć opcji -o na cli. Może być używany z dowolną opcją konfiguracji, np
źródło