Ich bin ein sehr häufiger Benutzer von sshfs zum Mounten verschiedener Festplatten über das Netzwerk. Ich habe jedoch eine sehr kleine Maschine (mit einem Atom-Prozessor), von der ich ein Verzeichnis mit sshfs mounten muss.
Ist es möglich, die gesamte Komprimierung und möglicherweise auch die Verschlüsselung beim Mounten mit sshfs zu deaktivieren, um die CPU-Auslastung auf dem Computer zu begrenzen, von dem aus das Verzeichnis gemountet wird?
networking
ssh
Bjarke Freund-Hansen
quelle
quelle
Antworten:
Obwohl die Hochleistungs- SSH eine Nicht-Verschlüsselung hinzufügt, ist die ArcFour-Verschlüsselung fast genauso schnell und standardmäßig enthalten.
Verwenden:
-o Ciphers=arcfour
Ich verwende dies über das lokale Netzwerk und erhalte ungefähr 85% von 100 Mbit / s Ethernet oder ungefähr 10,625 Mbit / s
(In der Antwort von vava wäre sshfs immer noch das, was es ist, auch wenn die Verschlüsselung von ssh ausgeschaltet ist, da das Authentifizierungsprotokoll immer noch aktiv wäre, ohne das Sie genauso gut Telnet verwenden könnten.)
Hinweis für @osgx Ich habe kürzlich OpenSSL: Cipher Selection gefunden, das die folgende Grafik enthält:
Das Folgende ist der Ergebnisabschnitt von dieser Seite. Die Grafik und die Ergebnisse sind fraglich, da sie nicht angeben, wie der Benchmark durchgeführt wurde und auf welcher Hardware, aber ich denke, dass sie nicht so weit entfernt sind.
Was oben zitiert wurde, zeigt deutlich, dass arcfour (und auch AES mit AESNI ) eine Gigabit-Verbindung auf einer modernen Maschine auslasten kann.
Wenn Sie keine Verschlüsselung benötigen, ist die Nicht-Verschlüsselung von hpn-ssh noch schneller, aber Sie benötigen sie nur, wenn Sie eine Verbindung mit der mehrfachen Bandbreite einer Gigabit-Verbindung auslasten müssen oder wenn Sie eine geringere CPU-Auslastung benötigen.
quelle
arcfour
Verschlüsselung ist veraltet und fehlt in den meisten modernen OpenSSH-Installationen. Sie können[email protected]
stattdessen verwenden.Verwenden Sie für SFTP ohne Verschlüsselung
sshfs
+socat
Auf der Serverseite ausführen
Und auf der Kundenseite
Quelle: http://pl.atyp.us/wordpress/index.php/2009/09/file-transfer-fun/
quelle
,bind=127.0.0.1
Option , um die Beschränkung auf eine bestimmte Netzwerkschnittstelle (z. B. localhost) vorzunehmen. Fügen Sie die,fork
Option hinzu, um mehrere Verbindungen zum Server zuzulassen . Einen Nur-Lese-Server erstellen? In-R
zum EXEC - Befehl. Am Ende wird es so aussehen:socat TCP-LISTEN:7777,fork,bind=127.0.0.1 EXEC:'/usr/lib/sftp-server -R'
(auf Arch Linux musste ich/usr/lib/ssh/sftp-server
stattdessen verwenden).,range=192.168.1.2/32
zulassen, dass nur ein bestimmter Computer eine Verbindung herstellt.Es gibt keine Möglichkeit, die Verschlüsselung zu deaktivieren - das ist schließlich ssh. Und es sieht so aus, als ob die Komprimierung standardmäßig deaktiviert ist, da Sie sie mit dem
-C
Switch anfordern müssen .Möglicherweise möchten Sie jedoch in Ihrer
~/.ssh/config
Datei die Einstellungen für die Komprimierung überprüfen . Wenn Sie die folgenden Zeilen oben in diese Datei einfügen, sollte die Komprimierung deaktiviert sein:quelle
Sie können mit einhängen
-o compression=no
, um die Komprimierung auszuschalten. Es ist nicht möglich, die Verschlüsselung auszuschalten, danach wäre es nicht sshfs :) Wenn es langsam ist, schlage ich vor, ein Verzeichnis auf andere Weise zu mounten, z. B. über Samba, NFS oder FTP.quelle
Ich denke, Komprimierung ist etwas, das wirklich nur dann schneller ist, wenn die Zeit für die Komprimierung durch die Zeit für die Datenübertragung kompensiert wird. Die Komprimierung bei einer langsamen Verbindung erhöht die Geschwindigkeit also auf das Sechsfache. Die Komprimierung bei einer schnellen Verbindung ist überhaupt nicht sinnvoll, da sie aufgrund der Komprimierungsverzögerung auf Ihrem oder dem Host-System die Geschwindigkeit verringert. Einige Hosts akzeptieren keine Komprimierung, da sie keine Prozessorleistung für Benutzer ausgeben möchten.
Ich denke, dieser Schalter
-o Ciphers=arcfour
erhöht die Geschwindigkeit der Verschlüsselung auf nahezu keine Verschlüsselung und-o cache=yes -o kernel_cache -o large_reads -o compression=no
kann Ihre Geschwindigkeit erheblich steigern, da er sshfs ein wenig optimiert. Komprimierung bei langsamen Verbindungen beschleunigt die Übertragung erheblich, wenn eine Komprimierung möglich ist. meistens ist es. Zum Beispiel verwende ich es mit einer 2 Mbit / s Down- und 0,3 Mbit / s Up-Verbindung und beschleunige die Übertragung um ca. 3-5 Minuten anstatt um 25-30 Minuten für ca. 30 MByte.quelle