SSH herhangi bir sıkıştırma kullanıyor mu?


44

Merak ediyorum, SSH göndermeden / almadan önce verilerini sıkıştırıyor mu? Varsayılan olarak değilse, açılabilir mi?

Yanıtlar:


48

Hayır ve evet. Türü. Söylemek istediğim, sıkıştırmayı (zlib veya zlib-ish, hatırladığım kadarıyla) destekliyor, ancak OpenSSH'nin bir hisse senedi kopyası varsayılan olarak etkinleştirilmiyor, ancak bazı dağıtımlar varsayılan olarak etkinleştirebilir (Ubuntu’nun sağlayacağını sanmıyorum. ).

Detaylar man ssh_configiçin bakınız. Daha sonra ayarlayabileceğiniz Compressionve CompressionLevelseçeneklerini arıyorsunuz /etc/ssh/ssh_config.

Ayrıca Compression, sunucu tarafı için sshd_configsıkıştırmaya izin verilip verilmediğini belirleyen bir seçenek olduğunu unutmayın (varsayılan olarak). Yine, man sshd_configdetaylar için bakınız.

Komut satırı seçeneğini kullanarak sıkıştırmayı oturum başına da açabilirsiniz -C.

Not sıkıştırma aslında biraz sahip olabileceği olumsuz siz ve sunucu arasındaki bağlantı hızlı ise performans etkisini (örn aynı LAN üzerinde veya sadece gerçekten iyi internet bağlantılarında) yavaş CPU (sıkıştırma yiyor adil biraz vardır ya biri ya her iki tarafta CPU zamanı).

Bu günlerde, çoğu insan için, sadece gerektiği kadar kullanmanızı öneririm. Genellikle 5-10 MB / sn'den daha kısa bağlantılar için ve yalnızca çok fazla toplu veri aktarırken (önceden sıkıştırılmamış dosyaların aktarılması, X11 veya VNC iletimi, bunun gibi şeyler).


1
Aslında, SSH üzerinden çalışan X uygulamalarını hızlandırmak için kullanmayı denemek istiyorum. Sunucumda bol miktarda boş CPU ve RAM kaynağı var ve istemci de çok zayıf değil.
Ivan

2
Sshd_config içindeki sıkıştırma "evet" veya "gecikmeli" olabilir. "Gecikmeli" daha güvenlidir, çünkü bir zlib güvenlik açığı sizi açığa çıkarmaz, bu yüzden varsayılan, ancak Tunnelier gibi bazı eski müşteriler sadece "evet" i destekliyor. openssh.com/txt/release-4.2
Endolit

CompressionYa olabilir yesveya nomanuel sayfa ... Yine de teşekkürler, benim Android telefon için bu sıkıştırmayı gerekiyordu ...
Wilf

@Ivan NoMachine NX veya freenx'i denediniz mi? Bu sadece ssh'yi sıkıştırmaktan daha hızlı olmalı.
gmatht

CompressionLevelYalnızca, artık OpenSSH'nin geçerli sürümleriyle varsayılan olarak etkinleştirilmeyen SSH protokolü 1 için kullanılabilen bir seçenek olduğunu unutmayın .
ckujau

23

Herhangi bir SSH'de gzip sıkıştırmasını açabilirsiniz. Compression yesSenin içine koy ~/.ssh/configve işe yaramalı. Alternatif olarak, çalıştırmayı deneyin sshile -Cseçeneği.


8

Ssh man sayfasından ( man sshher şeyi görmek için yazın ):

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

Yani sadece değiştirin:

ssh hostname

için:

ssh -C hostname

2
Pencereleri kullanıyorsanız bu seçeneği PuTTY'de etkinleştirebilirsiniz: Bağlantı -> SSH -> Protokol seçenekleri -> Sıkıştırmayı Etkinleştir.
14'te Wug

0

ile sıkıştırmayı açabilirsiniz -Cancak sunucunun bunun için sıkıştırmaya izin vererek çekirdek gücü harcamasına izin verilmezse çalışmaz. Örneğin, bu nedenle bazı verilerinin Ana Bilgisayar konumunu Strato'dan bir sunucuya değiştirdim. Yavaş bir 2Mbit indirme ve 0,3Mbit yükleme bağlantısının kullanılması nedeniyle tanıdım ve sıkıştırma seviyesine bağlı olarak hız farkını kontrol ettim çünkü yüksek seviye, işlemcinizin gücünden veya sunucunun gücünden daha kolay olmadığı için daha hızlı değildir.
ama benim durumumda iyi bir iş çıkar çünkü gerekli süreyi önceki sürenin 6'sına düşürüyor.


Settet sıkıştırmasının her iki seçenekte de hızlı bir transfer yaparak ve zamanı kontrol ederek hız kazanıp kazanmadığını her an ağ üzerinden başlatırken kontrol ediyorum. Sonuç olarak verilen cevap otomatik ayarlama sıkıştırma ya da değil. O zamandan beri her zaman daha iyi ayarlanmış bir şey aktarmadan önce bağlantımı her zaman kontrol etmek zorunda değilim.
Andreas Bartels

0

En kolay neden, cli üzerindeki -o seçeneğini kullanmaktır. Örneğin, herhangi bir yapılandırma seçeneğiyle de kullanılabilir

ssh -o "Compression no" -v <HOST>
# or
ssh -o "Compression yes" -v <HOST>
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.