GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Beste Möglichkeit, Dateien über ein LAN zwischen zwei Linux-Computern zu übertragen

In einer Linux-Umgebung ist ssh sowohl für die Sicherheit als auch für die Benutzerfreundlichkeit der beste Weg. SSH, SSHFS, SCP und SFTP, wie Sie sie auflisten, sind alles nur verschiedene Dienste, die auf dem SSH-Protokoll aufbauen. SCP ist sehr einfach zu verwenden, es funktioniert genau wie CP, aber Sie können Benutzer- und Computernamen im Pfad angeben. Wir könnten also einen CP wie cp ~/music/ ~/newmusic/ machen , aber wir könnten genauso gut scp ~/music/ [email protected]:~/newmusic machen um es an den Computer mit dem Namen host zu senden. Das war's – wir müssen nichts einrichten. Sie werden zur Eingabe des Kontokennworts auf dem anderen Computer aufgefordert, wenn Sie kein Zertifikat oder eine andere Authentifizierung eingerichtet haben (scp teilt diese Einstellungen natürlich mit ssh).

SFTP ist ein Tool, das es einfach macht, viele Operationen auf einem Remote-Dateisystem durchzuführen – es funktioniert genau wie FTP, läuft aber über SSH, ist also sicher und erfordert nur einen SSH-Server. man sftp wird Ihnen alles über die Verwendung erklären. Ich verwende SFTP nicht nur, um einen Ordner zwischen zwei Computern zu verschieben, es ist nützlicher, wenn Sie viele Vorgänge ausführen müssen, z. B. wenn Sie Dateien auf einem anderen Computer neu anordnen.

SSHFS erweitert SFTP einfach in ein Dateisystem:Es ermöglicht Ihnen, einen virtuellen Host in Ihr Dateisystem einzuhängen, sodass die Netzwerksachen völlig transparent ablaufen. SSHFS ist für semi-permanente Setups gedacht, nicht nur für eine einmalige Dateiübertragung. Die Einrichtung erfordert etwas mehr Aufwand, was Sie auf der Projektwebsite nachlesen können.

Wenn Sie in einer Umgebung mit gemischten Betriebssystemen arbeiten müssen, ist Samba die nächstbeste Wahl. Windows und OS X unterstützen Samba vollständig automatisch, und Linux tut es auch, obwohl es manchmal schwierig zu bedienen ist.


Mein persönlicher Favorit für Fälle, in denen Sicherheit keine Rolle spielt, ist netcat + tar:

Um ein Verzeichnis zu senden, cd in das Verzeichnis, dessen Inhalt Sie senden möchten, auf dem Computer, der das Senden ausführt, und tun Sie:

tar -cz . | nc -q 10 -l -p 45454

Cd auf dem Computer, der die Inhalte empfängt, an die Stelle, an der die Inhalte erscheinen sollen, und führe Folgendes aus:

nc -w 10 $REMOTE_HOST 45454 | tar -xz

Ersetzen Sie $REMOTE_HOST mit IP / Hostname des sendenden Computers. Sie können statt 45454 auch einen anderen Port verwenden .

Was hier tatsächlich passiert, ist, dass der "empfangende" Computer eine Verbindung zum sendenden Computer auf Port 45454 herstellt und den tar- und gzip-Inhalt des Verzeichnisses empfängt und diesen direkt an tar (und gzip) weitergibt, um ihn darin zu extrahieren das aktuelle Verzeichnis.

Kurzes Beispiel (unter Verwendung von localhost als Remote-Host)

Computer 1

[email protected]:~/nctest/a/mydir$ ls
file_a.txt  file_b.log
[email protected]:~/nctest/a/mydir$ tar -cz . | nc -q 10 -l -p 45454

Computer 2

[email protected]:~/nctest/b$ ls
[email protected]:~/nctest/b$ nc -w 10 localhost 45454 | tar -xz
[email protected]:~/nctest/b$ ls
file_a.txt  file_b.log

Für einmalige Bewegungen wird scp empfohlen.

Aber wenn Sie feststellen, dass dieses Verzeichnis funktioniert und Sie es viele Male verschieben müssen, um die andere Position auf dem neuesten Stand zu halten, können Sie rsync (mit ssh) verwenden.

Da rsync viele Argumente hat, stecke ich es normalerweise in eine kleine Shell, damit ich es (jedes Mal) richtig mache. Die Idee ist, nur Dinge zu senden, die sich seit der letzten Ausführung geändert haben.

#!/bin/bash

user="nisse"
host="192.168.0.33"

echo "Sync: /home/media/music/"
rsync --archive --delete -v --progress -e "ssh -l $user " /home/media/music/ $host:/home/media/music/

Dadurch wird ein Verzeichnis mit dem Namen "/home/media/music/" vom lokalen Computer auf den PC mit dem Namen 192.168.0.33 verschoben, wobei der Benutzer "nisse" verwendet wird. Und löschen Sie alles auf dem Ziel, das auf dem lokalen PC nicht vorhanden ist.


Linux
  1. So übertragen Sie Dateien zwischen zwei Computern mit den Befehlen nc und pv

  2. Übertragen Sie Dateien und Ordner sicher zwischen Computern mit Croc

  3. So konfigurieren Sie den SAMBA-Server und übertragen Dateien zwischen Linux und Windows

  4. So übertragen Sie Dateien zwischen Servern in Linux mit SCP und FTP

  5. Die besten Dateiübertragungstools unter Linux

Übertragen Sie Dateien und Ordner zwischen Computern mit Croc

Übertragen Sie Dateien zwischen Computern und Mobilgeräten, indem Sie QR-Codes scannen

So synchronisieren Sie Dateien automatisch zwischen zwei Linux-Servern

4 Möglichkeiten zum Übertragen von Dateien zwischen Remote- und lokalen Systemen über SSH

So übertragen Sie Dateien mit Warp einfach zwischen Linux-Desktops

Unterschied in Leerzeichen zwischen zwei Dateien unter Linux