USB3 の速度でファイルを送信できる最も安全な SSH 暗号は何ですか? (~480Mbps)

USB3 の速度でファイルを送信できる最も安全な SSH 暗号は何ですか? (~480Mbps)

PC とサーバーの間にギガビット接続があり (iperf3 テストでは約 930Mbps を示しています)、大容量のファイルをできるだけ高速に転送できるようにしたいと考えています。サーバーのハード ドライブは USB3 経由で接続されており、Rock64 です。ssh (ssh では btrbk を使用しています) の場合、CPU 使用率が高く、温度が高い (約 60C) ため、ボトルネックになっているのはおそらく ssh だと思います。圧縮はデフォルトで無効になっていると思いますが (~/.ssh/config に記述)、無効にしました。最大 350Mbps の速度しか得られませんでしたが、かなり変動しました。Rock64 では、それほど多くのデータを含む暗号を処理できないと思います。しばらくすると、理由はわかりませんが、速度が極端に低下しました (1Mbps 未満)。転送を再開するとうまくいきました。(質問とは関係ないかもしれません)。

少なくとも 480Mbps 程度の速度で実行できる暗号が必要です。ただし、実際の USB3 速度では、この数値はもう少し低くなる可能性があります。PC > ルーター > サーバーからのイーサネット接続だけなので、セキュリティについてはあまり心配していませんが、暗号化なしまたは弱い暗号化はやりすぎです。したがって、上記の速度で実行できる最も安全な暗号が望ましいです。

答え1

すべての暗号は 480Mbps をサポートできますが、多くの CPU ではその暗号を十分な速度で実行できません。そのため、必要なのは CPU に十分な速度で実装することです。

実行の連鎖は

read from disk -> encrypt -> send over network -> decrypt -> write to disk

まず最初に確認する必要があるのは、本当に暗号化があなたを妨げているのかということです

ncsshの代わりに開始する

nc -l -p 9999 > /path/to/destination/file # on the receiving side
nc -N [ip.of.receiver.pc] 9999 < /path/of/original/file # on the sending side

これにより、チェーンから暗号化/復号化が取り除かれ、実際に可能な速度がわかります。

次に、送信側で一部の暗号に対してハードウェア アクセラレーションによる暗号化がサポートされているかどうかを確認します。ほとんどの場合、サポートされていませんが、試してみる価値はあります。

暗号を試してみるarcfourと希望が湧くかもしれない

答え2

興味深い暗号速度を発見しましたブログネットワークなしで暗号速度を測定する方法を説明します。

for i in `ssh -Q cipher`; do dd if=/dev/zero bs=1M count=100 2> /dev/null \
  | ssh -c $i someuser@localhost "(time -p cat) > /dev/null" 2>&1 \
  | grep real | awk '{print "'$i': "100 / $2" MB/s" }'; done

したがって、特定のハードウェア上で暗号のパフォーマンスを実際に測定できます。

関連情報