サーバーは sshd を備えた Ubuntu サーバー 11.04 です。
SSH はコンソール プログラムでは正常に動作します。
しかし、データ転送が遅いため、大きなファイルを転送するときには非常に煩わしいです。
2 つの異なるクライアント プログラムを試し、ポートを変更しましたが、速度は常に同じです。サーバーは SSL 経由でデータをはるかに高速に転送できることはわかっていますが、SSL は AES を使用するようです。SSH クライアントも AES を使用するように構成しましたが、効果はありませんでした。
SSH を使用すると SSL よりも何倍も遅くなるのはなぜですか? また、SSH の転送速度を向上させる方法はありますか?
答え1
HPN-SSHというプロジェクトがあります(高性能 SSH/SCP) は、以前から FreeBSD のデフォルト クライアントなので、安定していると考えられます。LAN 上のバックアップ サーバーとの通信速度がわずかに向上したことに気づきましたが、HPN-SSH の本当の利点は、より長い距離で得られると理解しています (詳細については、HPN-SSH の Web サイトを参照してください)。これがあなたに当てはまるかどうかはわかりません。
しかし、本当にパフォーマンスを向上させたい場合は、blowfish や archfour などのより単純な暗号化アルゴリズムに変更することもできます。一般的に、これは問題ではないと思います。
答え2
1 つの CPU が非常に遅いか、すでに限界に達しているのではないかと思います。速度を上げるには、前述の「hpn」パッチを使用して暗号化を完全に放棄するか、すべての暗号化を失いたくない場合は (責められません)、Ciphers
CLI または のオプションを使用して「arcfour」暗号化に切り替えることができます~/.ssh/config
。これは、標準の暗号化アルゴリズムよりもリソースをかなり消費しませんが、同時にそれほど安全ではありません。1.6 GHz シングル コア CPU を搭載した私の eee PC では、ssh 転送速度が信じられないほど遅くなります。
例:
ssh -oCiphers='arcfour' user@host
を使用している場合はscp
、次の操作を行ってください。
-oCiphers='arcfour'
rsync
転送に 使用する場合は、次の操作を実行します。-e'ssh -oCiphers=arcfour'