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


21

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

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

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


2
それは残念ですrot13パッチ(miranda.org/~jkominek/rot13)がキャッチされなかった
...-ケンスター

5
SSHが1980
。– joschi

回答:


17

何も再コンパイルしないと、私が知っている限りそれはできません。ただし、最新のハードウェアでは非常に高速な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,umac-64@openssh.com,
      hmac-ripemd160,hmac-sha1-96,hmac-md5-96

macs  hmac-md5-96

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


3
OpenSSHのインストール(両端)が「なし」暗号のサポートに準拠している場合は、それも指定できますが、セキュアシェルの目的全体を無効にします。
voretaq7

1
私たちの間で傾斜しているCの場合、{"none"、SSH_CIPHER_NONE、8、0、0、EVP_enc_null} を暗号配列のcipher.cに追加できます 。
–ŹV

3
また、socat(dest-unreach.org/socat)のようなものを使用して同じことを行い、すべてのSSHプロトコルのオーバーヘッドを回避することもできます。
–ŹV

umac-64はこれらのmacアルゴリズムの中で最速だと思います。
ジェームズ・レインステートモニカポーク

いずれの場合でも、96ビットMD5は非常に高速です。
–ŹV

7

クライアントまたはサーバーの電力が大幅に不足していない限り、パフォーマンスの問題を引き起こしているのは暗号化であると非常に疑います。私は定期的に「-D 8080」のssh SOCKSプロキシを使用し、注目決して何もなく、持っている非常にわずかな減速を。

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

とにかく、Zephyr Pellerinが行った推奨事項は適切です。暗号化が問題の原因であると本当に考えている場合は、別の暗号に切り替えてください。ただし、待機時間を検討することをお勧めします。待機時間の方がはるかに可能性が高いと思われるためです。


このために+1 ...暗号化である可能性が非常に低い問題であり、そもそも自宅のホストへの接続である可能性が高いです。
-DaveG

16
これを行う必要はないと人々が言うのを止めて、暗号化オーバーヘッドの利点と低下について長い議論を行い(もしあれば)、質問に答えてみてください。少なくとも認証が必要なローカルマシンのローカルタスクに冗長な暗号化を追加する理由はありませんが、localhostからlocalhostへの作業には暗号化は必要ありません。
マリウス

5
本当ではありません。gig-ethernetでscpを使用して大きなファイルをコピーしてみてください。Intel iCore 5の負荷は80%です。
lzap

@Izap>暗号化だけではありません。ftp(sslなしで)使用して大きなファイルを転送すると、20から40%のCPU負荷もかかります。CPUにあまり注意を払う必要のない安価なギグイーサネットのせいです。
スペクトル

ZFSの送受信にSSHを使用すると、CPUがボトルネックになります;)
Xdg

6

このスレッドは私自身のベンチマークを行って、パフォーマンスは暗号/ 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                     hmac-ripemd160@openssh.com 48.8MB/s
aes256-cbc                  hmac-sha1-96               48.8MB/s
arcfour                     hmac-ripemd160@openssh.com 48.7MB/s
aes128-cbc                  hmac-sha1                  48.4MB/s


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

cipher                      mac                        speed
---------------------------------------------------------------
arcfour256                  umac-64@openssh.com        2.75MB/s
arcfour128                  umac-64@openssh.com        2.74MB/s
arcfour                     umac-64@openssh.com        2.63MB/s
arcfour                     umac-64@openssh.com        2.54MB/s
arcfour                     hmac-md5-96                2.36MB/s
arcfour128                  hmac-md5                   2.34MB/s
arcfour256                  hmac-md5                   2.34MB/s
arcfour256                  umac-64@openssh.com        2.33MB/s
arcfour256                  hmac-md5-96                2.28MB/s
arcfour256                  hmac-md5-96                2.22MB/s

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


「なし」暗号なしの結果は、このトピックでは不完全です。多くのpogoplugv4(800Mhzアームバージョン=遅い)があり、CPUをsshで固定することがよくあります。これが人々が非暗号を求める理由です。ssh / sshd cpuの使用率が100%の場合、ネットワークの問題ではありません!戻ってcipher = noneの結果を投稿することを忘れないで
ください...-user2420786

このデータを生成するために使用していたスクリプトはありますか?chacha20-poly1305@openssh.com現在のハードウェアでの現在の暗号()のパフォーマンスにかなり興味があります。
-Jakuje


3

この投稿の助けを借りて、暗号「なし」で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,rijndael-cbc@lysator.liu.se,aes128-ctr,aes192-ctr,aes256-ctr,none

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

Dean Gaudetの素晴らしさに対する功績


2

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

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パフォーマンスが得られます。


1

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

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


sshはほとんどのマシンで標準です。rinetdは一部ではありませんが、提案に感謝します。
マリウス

次に、netcat / ncを試してください
ThorstenS

0

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

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


0

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

ssh -c none -m hmac-md5-96 -oKexAlgorithms=curve25519-sha256@libssh.org ....

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

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

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

#define CFLAG_INTERNAL      0
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.