Was ist die sicherste Chiffre für SSH, mit der Dateien mit USB3-Geschwindigkeit gesendet werden können? (~480 Mbit/s)

Was ist die sicherste Chiffre für SSH, mit der Dateien mit USB3-Geschwindigkeit gesendet werden können? (~480 Mbit/s)

Ich habe eine Gigabit-Verbindung zwischen meinem PC und meinem Server (iperf3-Tests zeigen ~930 Mbit/s) und möchte große Dateien so schnell wie möglich übertragen können. Die Festplatte des Servers ist über USB3 angeschlossen und es handelt sich um eine Rock64. Bei SSH (ich verwende btrbk mit SSH) ist der Engpass wahrscheinlich SSH, da die CPU-Auslastung hoch und die Temperaturen hoch sind (~60 °C). Ich habe die Komprimierung deaktiviert, obwohl ich glaube, dass sie standardmäßig deaktiviert ist (lege sie in ~/.ssh/config ein). Ich habe nur Geschwindigkeiten von maximal 350 Mbit/s erreicht, aber das schwankte stark, ich glaube nicht, dass die Rock64 die Chiffren bei so vielen Daten verarbeiten kann. Und nach einer Weile wurde es aus irgendeinem Grund, den ich nicht genau kenne, nur noch langsam (weniger als 1 Mbit/s). Der Neustart der Übertragung hat funktioniert. (Ist möglicherweise für die Frage nicht relevant).

Ich brauche eine Chiffre, die mindestens 480 Mbit/s schafft. Sie können diese Zahl jedoch aufgrund realistischer USB3-Geschwindigkeiten wahrscheinlich etwas senken. Ich mache mir keine großen Sorgen um die Sicherheit, da es sich nur um Ethernet-Verbindungen von PC > Router > Server handelt, aber keine/schwache Verschlüsselung wäre sowieso übertrieben. Also vorzugsweise die sicherste Chiffre, die diese Geschwindigkeiten erreichen kann.

Antwort1

Jeder Chiffrierschlüssel unterstützt 480 Mbit/s – aber viele CPUs können diesen Chiffrierschlüssel nicht schnell genug ausführen. Sie suchen also nach einer ausreichend schnellen Implementierung für Ihre CPU.

Die Ausführungskette ist

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

Sie müssen also zunächst sicherstellen, dass es wirklich die Verschlüsselung ist, die Sie behindert

Beginnen Sie mit ncstatt ssh

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

Dadurch wird die Ver-/Entschlüsselung aus der Kette entfernt und Sie erhalten eine Vorstellung von den tatsächlich möglichen Geschwindigkeiten.

Überprüfen Sie als nächstes, ob Ihre Sendeseite über eine hardwarebeschleunigte Verschlüsselung für einige Chiffren verfügt. Höchstwahrscheinlich ist dies nicht der Fall, aber einen Versuch ist es wert.

Der Versuch mit der arcfourChiffre könnte Ihnen Hoffnung geben

Antwort2

Ich habe eine interessante Verschlüsselungsgeschwindigkeit gefundenBlog. Es gibt Ihnen eine Vorstellung davon, wie Sie die Verschlüsselungsgeschwindigkeit ohne Netzwerk messen können.

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

So können Sie die Leistung der Chiffren auf Ihrer spezifischen Hardware messen.

verwandte Informationen