SSH Cipher wechseln – schneller Datentransfer mit weniger CPU-Last
Ich verwende gelegentlich meinen DD-WRT Router zum Download großer Daten aus dem Internet (so wie heute das neue Windows 8 Developer Image) um bei Downloadzeiten von mehreren Stunden diese in der Nacht, ohne laufenden PC durchführen zu können. Am DD-WRT hab ich dazu einen USB-Hub samt mehrerer 8GB USB-Sticks auf denen die Daten liegen. Weil ich zu faul bin einen lokalen FTP-Server oder einen Samba-Server auf dem Router aufzusetzen (und es den bereits knappen RAM noch mehr belasten würde), nutze ich meist SCP (aus mangeln eines voll-funktionsfähigen SFTP-Servers auf dem Router) um die Daten dann auf den lokalen PC zu transferieren. Ein Vorteil von SSH, die Verschlüsselung, bringt in diesem speziellen Fall allerdings einen großen Nachteil mit sich: der ohnehin nicht besonders schnelle Router (Broadcom BCM4785 CPU — 300 Mhz) wird durch die Encryption extrem ausgebremst. So pendelt sich die Datentransferrate mit den Defaultsettings bei ungefähr 400 KB/s ein (was im Vergleich zu meiner Internetanbindung mit 500 KB/s schon wirklich langsam ist). Leider gibt es keine Möglichkeit die Verschlüsselung komplett zu deaktivieren (wenn jemand doch eine kennt, bitte ich um Korrektur), aber man kann zumindest einen schnelleren Verschlüsselungsalgorithmus auswählen:
-c blowfish|3des|des
Selects the cipher to use for encrypting the session. 3des is used by default. It is believed to be secure. 3des (triple-des) is an encrypt-decrypt-encrypt triple with three different keys. blowfish is a fast block cipher, it appears very secure and is much faster than 3des des is only supported in the ssh client for interoperability with legacy protocol 1 implementations that do not support the 3des cipher. Its use is strongly discouraged due to cryptographic weaknesses.
Weil in diesem speziellen Fall die Verschlüsselung eigentlich komplett irrelevant ist, ist es auch komplett egal, wenn man einen unsicheren Cipher wählt. Mit dem blowfish Cipher pendelt sich die Datenrate bei mir bei immerhin 3 MB/s ein (um 750% schneller als mit dem 3des Cipher). Die Load des Routers steigt trotz dieses schnelleren Ciphers auf 2.5, es gäbe also noch Potenzial zur Verbesserung durch noch schnellere Verschlüsselungsverfahren (oder eben die komplette Deaktivierung).
Ähnliche Posts:
Die Verschlüsselung abzustellen wäre an sich eine gute Idee… (einer bei ubuntuusers behauptet genau das zu können: http://forum.ubuntuusers.de/topic/ssh-verschluesselung-deaktivieren/?highlight=ltsp) Doch würde das bei einer “Secure Shell” überhaupt Sinn machen? Du könntest dein Problem aber umgehen und den Ratschlag in ubuntuusers befolgen und gleich Telnet einsetzen. (sendet meines Erachtens alle Daten in Klartext)
Das Problem dabei ist, dass man dafür den SSHD-Server neukompilieren muss. Auf normaler Hardware kein Problem, allerdings ist das ganze mit einem ARM CPU auf integrierter Hardware nicht so einfach.
Telnet ist leider auch keine Option, zumindest kenn ich kein einfaches Programm, mit dem ich über telnet auch Daten versenden kann (anstatt nur einzelne Befehle).