web-dev-qa-db-ja.com

opensshで暗号化を無効にするにはどうすればよいですか?

Openssh(サーバー)とPuTTY(クライアント)の組み合わせを使用してリモートwebproxyを使用すると、パフォーマンスの問題が発生します。暗号化を無効にして結果をテストし、違いがあるかどうかを確認したいと思います。どうやってやるの? sshd_configで変更できるものはありますか?私はopensshに非常に慣れていません。

他のアイデアはいただければ幸いです。

私は基本的に自分のIEを127.0.0.1のソックスをプロキシとして使用するように設定しています。私はPuTTYを自宅のopensshサーバーに接続し、出来上がりです。それを介してインターネットを閲覧できます。ただし、自宅への接続が高速であることを知っていても、信じられないほど低速です(たとえば、ftpは50Kバイト/秒以上で動作します)。

21
Mark

何も再コンパイルしないと、私の知る限り、それを行うことはできません。ただし、最新のハードウェアでは非常に高速なARC4またはBlowfishに切り替えることができます。

あなたが得ることができる最高のパフォーマンス(クロックサイクルに関する限り)の増加は追加することです

compression no

これを行うには、

ciphers         aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,
                aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,
                aes256-cbc,arcfour

ciphers         arcfour,blowfish-cbc

非互換性のリスクがあるいくつかの余分なパフォーマンスを絞りたい場合は、変更できます

macs  hmac-md5,hmac-sha1,[email protected],
      hmac-ripemd160,hmac-sha1-96,hmac-md5-96

macs  hmac-md5-96

それでもオーバーヘッドが大きすぎると思われる場合は、v1に戻すか、標準のVPNを実行します。

17
ŹV -

クライアントやサーバーの能力が大幅に低下していない限り、パフォーマンスの問題を引き起こしているのが暗号化であるとは私は非常に疑っています。私は "-D 8080" sshソックスプロキシを定期的に使用しており、veryのわずかな速度低下以外は何も認識していません。

確認することの1つは、クライアントとサーバーの間の待ち時間を確認することです。それが非常に潜在的な接続である場合、HTTPを使用すると、FTPでのパフォーマンスの問題は見られず、トンネルでのパフォーマンスが確実に低下します。 FTP転送が進行中であれば、レイテンシはそれほど重要ではありませんが、HTTPを使用すると、発生する必要のある50以上の個別のHTTPハンドシェイクがある可能性のあるWebページを処理します。待ち時間の長い接続では、このプロセスが実際に遅くなり、ブラウジングが耐えられなくなります。

とにかく、ゼファーペレリンが行った推奨事項は妥当です。暗号化が本当に問題の原因だと本当に思っている場合は、別の暗号に切り替えてください。ただし、最初にレイテンシを検討することをお勧めします。

7
EEAA

このスレッドは私に独自のベンチマークを実行させ、パフォーマンスは暗号/ MACの違いだけでなく、送信するデータ、関与するCPU、ネットワークの設定方法にも影響を与えることがわかりました。

したがって、IMOが正しいことは、独自のテストを実行して、状況に最適な設定を見つけることです。

誰かが興味を持っている場合、これはIntel E5506駆動サーバーとRaspberry Piを比較した私のテスト結果です。

--
-- Intel Xeon E5506(4 x 2.13 GHz), 50MB Random binary Data over localhost
--

cipher                      mac                        speed
---------------------------------------------------------------
aes192-cbc                  hmac-sha1                    50MB/s
arcfour256                  hmac-sha2-512              49.9MB/s
arcfour                     hmac-ripemd160             49.8MB/s
aes256-cbc                  hmac-sha1-96               49.7MB/s
aes128-cbc                  hmac-sha1-96               49.7MB/s
aes192-cbc                  hmac-sha1                  48.9MB/s
arcfour                     [email protected] 48.8MB/s
aes256-cbc                  hmac-sha1-96               48.8MB/s
arcfour                     [email protected] 48.7MB/s
aes128-cbc                  hmac-sha1                  48.4MB/s


--
-- Raspberry Pi B+, 10MB Random binary over localhost
--

cipher                      mac                        speed
---------------------------------------------------------------
arcfour256                  [email protected]        2.75MB/s
arcfour128                  [email protected]        2.74MB/s
arcfour                     [email protected]        2.63MB/s
arcfour                     [email protected]        2.54MB/s
arcfour                     hmac-md5-96                2.36MB/s
arcfour128                  hmac-md5                   2.34MB/s
arcfour256                  hmac-md5                   2.34MB/s
arcfour256                  [email protected]        2.33MB/s
arcfour256                  hmac-md5-96                2.28MB/s
arcfour256                  hmac-md5-96                2.22MB/s

しかし、「トップ10」だけでは、完全な結果 ここにあります です。

6
Florian Fida

私はこの投稿の助けを借りて、暗号 'none'でsshd/sshをコンパイルすることができました: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=24559#58

非常に古い投稿ですが、ソースコードファイルcipher.cに3つのわずかな変更を加える必要があります。次に、sshd/sshコードを再コンパイルします。

@@ -175,7 +175,7 @@
    for ((p = strsep(&cp, CIPHER_SEP)); p && *p != '\0';
        (p = strsep(&cp, CIPHER_SEP))) {
        c = cipher_by_name(p);
-       if (c == NULL || c->number != SSH_CIPHER_SSH2) {
+       if (c == NULL || (c->number != SSH_CIPHER_SSH2 && c->number != SSH_CIPHER_NONE)) {
            debug("bad cipher %s [%s]", p, names);
            xfree(ciphers);
            return 0;
@@ -343,6 +343,7 @@
    int evplen;

    switch (c->number) {
+   case SSH_CIPHER_NONE:
    case SSH_CIPHER_SSH2:
    case SSH_CIPHER_DES:
    case SSH_CIPHER_BLOWFISH:
@@ -377,6 +378,7 @@
    int evplen = 0;

    switch (c->number) {
+   case SSH_CIPHER_NONE:
    case SSH_CIPHER_SSH2:
    case SSH_CIPHER_DES:
    case SSH_CIPHER_BLOWFISH:

また、none暗号を/etc/ssh/sshd_configに追加する必要があります

Ciphers aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour,aes192-cbc,aes256-cbc,[email protected],aes128-ctr,aes192-ctr,aes256-ctr,none

以下のリンクは、DebianおよびUbuntuシステムのsshソースを取得するのに役立ちます。

素晴らしいことに対するDean Gaudetの功績

4
Sepero

この非常に素晴らしいブログ投稿によると

http://blog.famzah.net/2010/06/11/openssh-ciphers-performance-benchmark/

以下の暗号を設定することをお勧めします。また、LANで最高のパフォーマンスが必要な場合は、圧縮がオフであることを確認してください。これはセキュリティリスクの可能性があることに注意してください。安全なLANでのみ使用してください(例:自宅など)。

# cat ~/.ssh/config
Host 192.168.1.*
    Compression no
    Ciphers arcfour256,arcfour128,arcfour,blowfish-cbc,aes128-cbc,aes192-cbc,cast128-cbc,aes256-cbc

最初の行を変更して、LAN内の独自のIPをリストします。ホスト名を入力することもできます(スペースで区切る)。これにより、LANで最高のscpパフォーマンスが得られます。

2
lzap

完全に暗号化されておらず、圧縮されていないトンネルを試したい場合は、SSHの代わりにrinetdのようなものを使用してデータを転送してみることができます。 TCP接続にプレーンバイナリセーフトンネルを提供する間、これはSSHエキストラを排除します。

自宅での接続が速いと言ったとき、双方向で速いと確信していますか?多くのホーム接続は非常に非対称です(たとえば、私のホームADSLはダウンストリームが約11Mit、アップストリームが約1.5Mbitであり、それよりも悪い場合があります。友人/家族の接続から引用できるものもあります:7M/0.4M、19M/1.3M、20M/0.75M、...)。ホームをプロキシとして使用している場合、データはリンクを両方の方向に通過する必要があるため、ダウンストリームとアップストリームの速度が最も遅くても最高移動し、追加のレイテンシが発生することに注意してください。も考慮に入れます。また、ISPは、ホームリンクからサーバー/プロキシを実行している人々を思いとどまらせる方法として、故意に上流の通信を(包括的に、または選択的に電子メールや選択した人気のあるWebサイトに影響を及ぼさないように)調整することがありますが、これは比較的まれです。

1
David Spillett

私はこれについて広範なテストを行ったところ、最高のスループットを実現した暗号スイートは、umac64 MACを使用したaes-128-ctrでした。 4コアの3.4GHzマシンで、ローカルホストを介してほぼ900MBytes/secを確認しました(ベンチマークのためにネットワークのボトルネックを排除するため)。

本当にそれほど多くのパフォーマンスが必要な場合は、最新のSSHと、おそらく HPN-SSH パッチが必要です。

0
Marcin

これは、ローエンドデバイスへのSSH接続に使用したクライアント側のSSHオプションの1つです。

ssh -c none -m hmac-md5-96 [email protected] ....

最近のOpenSSHバージョンでは、暗号はネイティブでサポートされていません。ただし、7.6以降、OpenSSHはSSHv1サポートを削除し、内部で使用するために「なし」の暗号をラベル付けしました。

#define CFLAG_NONE      (1<<3)
#define CFLAG_INTERNAL      CFLAG_NONE /* Don't use "none" for packets */

次に、サーバー側とクライアント側の両方にパッチを適用して再コンパイルする必要があります。

#define CFLAG_INTERNAL      0
0
V.E.O