scp
funktioniert in allen Fällen gut, aber der Raspberry Pi ist zu schwach, um Dateien effizient in eine sichere Umgebung (LAN) zu kopieren. Die theoretisch möglichen 6,75 MB / s über 54 Mbit WLAN schrumpfen auf ca. 1,1 MB / s.
Gibt es eine Möglichkeit, Dateien ohne Verschlüsselung aus der Ferne zu kopieren?
Es sollte ein CLI-Befehl ohne Abhängigkeiten von zusätzlichen Diensten (FTP, Samba) oder zumindest mit einem Minimum an Konfiguration sein. Ich meine, ein Standardtool, das mit Standardprogrammen / -diensten (wie scp / ssh) ziemlich gut funktioniert.
command-line
ssh
ftp
file-transfer
smb
ManuelSchneid3r
quelle
quelle
scp
Antworten:
Vielleicht suchen Sie nach einem Programm
rcp
, das die Remote-Ausführung über ausführt,rsh
sodass Sie sich darauf verlassen müssen und bedenken müssen, dass die gesamte Kommunikation unsicher ist.quelle
Sie können die Verschlüsselung auf ssh / scp nicht vollständig deaktivieren, aber Sie können sie zwingen, eine schwächere Verschlüsselung zu verwenden, die viel weniger CPU-intensiv ist. Stellen Sie sicher, dass die Komprimierung in Ihrer ssh_config oder in der Befehlszeile nicht aktiviert ist, und fügen Sie
-c arcfour,blowfish-cbc
sie Ihrer scp-Befehlszeile hinzu, um schwächere Chiffren auszuwählen.quelle
Host
Verwenden SieCiphers arcfour,blowfish-cbc
in einem Abschnitt in Ihrer ssh_config, um den obigen-c
Schalter zu spiegeln . Wenn Ihre CPUs jedoch den AES-NI-Befehlssatz unterstützen, würde ich versuchen, zu wechseln[email protected]
(ja, das ist der Chiffrenname, einschließlich@
des Materials), der das blitzschnelle (mit AES-NI) AES128-GCM verwenden wird.Ich habe dieses schnelle Skript geschrieben:
Das Senden an den Host und die zu sendende Datei erfordert zwei Argumente. Es funktioniert nur für eine Datei. Es verwendet ssh, um ein
netcat
Listening am anderen Ende zu starten und es dannnetcat
an diesen Listening-Port zu senden. Ich habepv
zu Beginn hinzugefügt , um einen schönen Fortschrittsbalken zu geben. Ersetzen Siepv
durch,cat
wenn Sie das nicht haben oder wollen. Ändern Sie den 2020-Port nach Ihren Wünschen. Dies setzt voraus, dass Sie über SSH-Zugriff auf das Remote-System verfügen.Das ist völlig unsicher, aber genau das wollten Sie.
quelle
Ich denke, NFS wird für diese Art von Aufgaben, bei denen Komfort, Geschwindigkeit und Sicherheit keine Rolle spielen, ziemlich unterschätzt. NFS ist wirklich einfach einzurichten, besonders auf dem Client: Sehen Sie sich diese kurze Anleitung für Ubuntu zusammen mit dieser längeren Hilfeseite für die Ubuntu-Community an . Aus der Sicht des Clients mounten Sie einfach das Serververzeichnis und es sieht aus wie ein lokales Laufwerk und Sie können
cp
oderrsync
oder beliebige Befehle verwenden, die Sie möchten.quelle
Es gibt Patches für openssh für HPC (High Performance Computing), die den SSH-Durchsatz durch Erhöhen der Übertragungsfenstergröße und Deaktivieren der Verschlüsselung verbessern. Wenn Sie nichts dagegen haben, Patches neu zu kompilieren (und möglicherweise weiterzuleiten), überprüfen Sie HPN-SSH . Wie BowlOfRed im Kommentar bemerkt hat, müssten Sie die Patches für beide verwenden dem Client als auch auf dem Server verwenden.
Sie können
rsync
- auch auf einem Computer als Daemon und auf dem anderen als einfacher Client verwenden. Es ist besonders nützlich, um größere Volumes über eine Netzwerkverbindung zu synchronisieren, die langsamer ist als das Lesen (und Überprüfen) der Dateien, da nur die Teile von Dateien übertragen werden können, die sich zwischen Client und Server unterscheiden. Siehersync(1)
undrsyncd.conf(5)
Mann Seiten.quelle
Das obige Bash-Skript von Ben Collins ist eine gute Lösung, aber ihm fehlt das
-p
Flag für den Port auf der Serverseite. Wenn Sie das so ausführen, wie es ist, erhalten Sie nur eine leere Datei oder einen nicht reagierenden Server, der niemals etwas tut.Es ist einfacher zu sehen, was dies tut, wenn Sie sich nur die Befehle ansehen.
nc
, oder netcat, ist genau wie cat, nur dass die Ausgabe über eine TCP-Verbindung in einen anderen Computer zurückgesendet wird. Sie übertragen nur die Ausgabe von nc auf dem Server in die Zieldatei. Sie können das Ziel auf die gleiche Weise einrichtenecho foo | nc dest.ip.address 2020
und alle möglichen anderen Dinge mit nc ausführen.quelle
seit dem letzten update ist einige zeit vergangen, einige chiffren haben sich geändert und zumindest auf freeBSD ist der blowfish nicht mehr verfügbar. Die schnellste Verschlüsselung, die ich bei aktuellen ssh-Installationen gefunden habe, ist -c aes128-cbc.
Genießen.
quelle
Wenn Sie ganze Dateistrukturen übertragen möchten, verwenden Sie tar.
im empfangenden System:
dann auf dem sendenden System:
Beobachten Sie das Archiv der Dateien auf einem System und extrahieren Sie auf dem anderen;)
quelle