SSHは圧縮を使用しますか?


44

私は興味があります、SSHはデータを送信/受信する前に圧縮しますか?デフォルトではない場合、オンにできますか?

回答:


48

いいえ、はい。やや。つまり、圧縮(zlibまたはzlib-ish、私が思い出すように)をサポートしていますが、OpenSSHのストックコピーではデフォルトで有効になっていませんが、一部のディストリビューションではデフォルトで有効になっている可能性があります(Ubuntuはそうではないと思います)。

詳細man ssh_configを参照してください。あなたは探しているCompressionCompressionLevelあなたが、その後に設定できるオプション、/etc/ssh/ssh_config

圧縮を許可するかどうかを決定するCompressionサーバー側のオプションもありますsshd_config(デフォルトでは)。繰り返しになりますがman sshd_config、詳細はこちらをご覧ください。

コマンドラインオプションを使用して、セッションごとに圧縮をオンにすることもできます-C

注圧縮が実際に少し持っていることを否定あなたとサーバー間の接続が高速であれば、パフォーマンスへの影響を(例えば、同じLAN上、または単に本当に良いのインターネット接続に)遅いCPU(圧縮食べる公正なビットを持っているか、片側または両側CPU時間の)。

最近では、ほとんどの人にとって、必要な場合にのみ使用することをお勧めします。通常、5〜10 mbps未満のリンクで、大量のバルクデータ(未圧縮ファイルの転送、X11またはVNC転送など)を渡す場合のみ。


1
実際に、SSHを介したXアプリケーションの実行を高速化するために使用してみます。サーバーには十分な空きCPUおよびRAMリソースがあり、クライアントも弱すぎません。
イヴァン

2
sshd_configの圧縮は、「yes」または「delayed」のいずれかです。「遅延」は、zlibの脆弱性によって公開されないため、より安全です。したがって、これはデフォルトですが、Tunnelierのような一部の古いクライアントは「はい」のみをサポートします。openssh.com/txt/release-4.2
endolith

Compressionいずれかになりますyesno... manページは述べています...とにかく感謝し、私のAndroid携帯電話のためにそれを解凍するために必要な
Wilf

@Ivan NoMachine NXまたはfreenxを試しましたか?それは単にsshを圧縮するよりも速いはずです。
-gmatht

注意CompressionLevelされたSSHプロトコル1でのみ使用可能だったオプションだったもはや有効のOpenSSHの現在のバージョンではデフォルトで。
-ckujau

23

SSHでgzip圧縮を有効にできます。Compression yesあなたの~/.ssh/configに入れて、それは動作するはずです。または、オプションを使用sshして実行してみてください-C


8

sshのmanページから(man sshすべてを見るにはタイプしてください):

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

変更するだけです:

ssh hostname

に:

ssh -C hostname

2
Windowsを使用している場合、PuTTYでこのオプションを有効にできます。接続-> SSH->プロトコルオプション->圧縮を有効にします。
ワグ

0

で圧縮を-C有効にできますが、圧縮を許可しないことによりサーバーがカーネルの電力を消費できない場合は機能しません。たとえば、このため、いくつかの独自のデータのホストの場所をStratoから私のサーバーに変更しました。遅い2Mbitのダウンロードと0.3Mbitのアップロード接続を使用しているため、圧縮レベルに応じて速度の違いを確認しました。高いレベルはプロセッサのパワーやサーバーのパワーを消費するため、常に高速ではありません。
しかし、私の場合、必要な時間を前の6分の1に短縮するので、良い仕事をします。


両方のオプションで迅速な転送を行い、時間を確認することで、Settet圧​​縮の速度が向上しているかどうかを、ネットワークの起動時に常に確認します。結果として得られる答えは、圧縮の設定を自動化するかどうかです。そのため、何かを転送する前に常に接続を確認する必要はありません。常に調整されているためです。
アンドレアスバルテルス

0

最も簡単な理由は、cliで-oオプションを使用することです。同様に、任意の設定オプションとともに使用できます。

ssh -o "Compression no" -v <HOST>
# or
ssh -o "Compression yes" -v <HOST>
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.