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

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

Früher oder später werden Sie sich in einer Situation wiederfinden, in der Sie die Datei über SSH auf den Remote-Server hochladen oder eine Datei davon kopieren müssen.

Es gibt verschiedene Möglichkeiten, wie Sie Dateien über SSH übertragen können. Ich werde hier die folgenden Methoden diskutieren:

  1. scp:Legacy-Befehl, der veraltet ist
  2. rsync:Beliebter Befehl zur Dateisynchronisierung
  3. sshfs:Mounten des entfernten Verzeichnisses über SSH
  4. SFTP-Clients:GUI-Tool für den Dateizugriff über SFTP

Für eine erfolgreiche Dateiübertragung über SSH müssen Sie

  • um SSH-Zugriff zwischen den beiden Maschinen zu haben
  • um den Benutzernamen und das Passwort auf dem Remote-Rechner zu kennen
  • IP-Adresse oder Hostname (im gleichen Subnetz) des Remote-Rechners

Abgesehen davon sehen wir uns die Methoden zum Kopieren von Dateien zwischen entfernten Systemen über SSH an.

Methode 1:Verwenden Sie den scp-Befehl, um Dateien über SSH zu kopieren

Ich habe gelesen, dass scp veraltet sein wird. Dennoch ist es mein Lieblingstool zum Übertragen von Dateien zwischen Systemen über SSH. Wieso den? Weil seine Syntax dem cp-Befehl ähnelt.

Sehen wir uns an, wie man den scp-Befehl verwendet.

Kopieren Sie Dateien vom Remote-Computer auf Ihren lokalen Computer

Hier ist das Szenario. Sie möchten Dateien vom Remote-Linux-System auf das aktuell angemeldete System kopieren.

Hier ist eine generische Syntax, die die Datei aus dem Home-Verzeichnis des Benutzers auf dem entfernten System in das aktuelle Verzeichnis Ihres lokal angemeldeten Systems kopiert.

scp [email protected]_address:/home/username/filename .

Sehen Sie die Ähnlichkeit mit dem cp-Befehl? Es ist fast dasselbe, außer dass Sie den Benutzernamen und die IP-Adresse mit einem Doppelpunkt (:) angeben müssen.

Lassen Sie mich Ihnen nun ein reales Beispiel für diesen Befehl zeigen.

Im obigen Beispiel habe ich die Datei remote.txt kopiert aus /home/abhishek/my_file Verzeichnis auf dem Remote-System in das aktuelle Verzeichnis des lokalen Rechners.

Dies sollte Ihnen einen Hinweis geben, dass Sie den genauen Speicherort der Datei auf dem Remote-System kennen sollten. Die Tab-Vervollständigung funktioniert nicht auf Remote-Systemen.

Dateien von Ihrem lokalen Computer auf den Remote-Computer kopieren

Das Szenario ist hier leicht verändert. In diesem Fall senden Sie mit scp.

eine lokale Datei über SSH an das Remote-System

Dies ist eine generische Syntax, die den Dateinamen in das Home-Verzeichnis von Benutzername auf dem entfernten System kopiert.

scp filename [email protected]_address:/home/username

Im obigen Beispiel habe ich local.txt kopiert Datei aus dem aktuellen Verzeichnis in das Home-Verzeichnis des Benutzers abhishek auf dem Remote-System.

Dann habe ich mich beim Remote-System angemeldet, um zu zeigen, dass die Datei tatsächlich kopiert wurde.

Sie können auch Verzeichnisse kopieren

Erinnerst du dich, dass ich dir gesagt habe, dass ich scp wegen seiner Ähnlichkeit mit dem cp-Befehl mag?

Wie beim cp-Befehl können Sie auch scp verwenden, um das Verzeichnis über SSH zu kopieren. Die Syntax ähnelt auch dem cp-Befehl. Sie müssen nur das -r verwenden Option.

scp -r source_dir [email protected]_address:/home/username/target_dir

Sie können noch viel mehr damit machen. Lesen Sie weitere Beispiele für den scp-Befehl in diesem Tutorial:

Methode 2:Verwenden Sie rsync, um Dateien und Verzeichnisse über SSH zu kopieren

Da scp veraltet ist, ist rsync das nächstbeste Tool zum Kopieren von Dateien zwischen entfernten Systemen über SSH. Tatsächlich ist es in vielerlei Hinsicht besser als scp.

Die Befehlssyntax ist die gleiche wie bei scp. Ältere Versionen von rsync mussten rsync -e ssh verwenden aber das ist nicht mehr der Fall.

Kopieren Sie Dateien vom Remote-Computer auf Ihren lokalen Computer

Angenommen, Sie möchten eine Datei aus dem Home-Verzeichnis des Benutzers auf dem entfernten System in das aktuelle Verzeichnis Ihres lokal angemeldeten Systems kopieren.

rsync [email protected]_address:/home/username/filename .

Nehmen wir das gleiche Beispiel, das Sie mit scp gesehen haben. Ich kopiere die Datei remote.txt aus /home/abhishek/my_file Verzeichnis auf dem Remote-System in das aktuelle Verzeichnis des lokalen Rechners.

Dateien von Ihrem lokalen Computer auf den Remote-Computer kopieren

Hier ist eine generische Syntax, die die Datei in das Home-Verzeichnis von Benutzername auf dem entfernten System kopiert.

rsync filename [email protected]_address:/home/username

Zeit, das reale Beispiel zu sehen. Ich kopiere local.txt Datei aus dem aktuellen Verzeichnis in das Home-Verzeichnis des Benutzers abhishek auf dem Remote-System.

Wie wäre es mit dem Kopieren von Verzeichnissen mit rsync?

Es ist das gleiche. Verwenden Sie einfach -r Option mit rsync, um das gesamte Verzeichnis über SSH zwischen entfernten Systemen zu kopieren.

rsync -r source_dir [email protected]_address:/home/username/target_dir

Schauen Sie sich dieses Beispiel an. Ich kopiere das gesamte my_file-Verzeichnis vom entfernten System auf das lokale System.

rsync ist ein vielseitiges Werkzeug. Es ist im Wesentlichen ein Tool zum „rekursiven Synchronisieren“ des Inhalts zwischen zwei Verzeichnissen und sehr beliebt zum Erstellen automatisierter Backups.

Methode 3:Verwenden von SSHFS für den Zugriff auf Dateien vom Remote-System über SSH

Es gibt auch SSHFS (SSH-Dateisystem), das für den Zugriff auf entfernte Dateien und Verzeichnisse verwendet werden kann. Dies ist jedoch nur zum Kopieren von Dateien nicht sehr praktisch.

Bei dieser Methode mounten Sie das Remote-Verzeichnis auf Ihrem lokalen System. Einmal gemountet, können Sie Dateien zwischen dem gemounteten Verzeichnis und dem lokalen System kopieren.

Möglicherweise müssen Sie zuerst sshfs mit dem Paketmanager Ihrer Distribution auf Ihrem lokalen System installieren.

Unter Debian und Ubuntu können Sie den folgenden Befehl verwenden:

sudo apt install sshfs

Sobald Sie sshfs auf Ihrem System installiert haben, können Sie damit das Remote-Verzeichnis einhängen. Es wäre besser, ein dediziertes Verzeichnis für den Einhängepunkt zu erstellen.

mkdir mount_dir

Mounten Sie nun das gewünschte Verzeichnis auf der entfernten Maschine auf diese Weise:

sshfs [email protected]_address:path_to_dir mount_dir

Sobald es gemountet ist, können Sie Dateien in dieses Verzeichnis oder aus diesem Verzeichnis kopieren, als ob es sich auf Ihrem lokalen Rechner selbst befände.

cp local_file mount_dir

Denken Sie daran, dass Sie diese Datei gemountet haben. Sobald Ihre Arbeit erledigt ist, sollten Sie es auch aushängen:

umount mount_dir

Hier ist ein Beispiel, wo ich my_file gemountet habe Verzeichnis vom entfernten System in das remote_dir Verzeichnis auf dem lokalen System. Ich habe die remote.txt kopiert Datei auf das lokale System und unmounten Sie dann das Verzeichnis.

Methode 4:Verwenden Sie einen GUI-basierten SFTP-Client zum Übertragen von Dateien zwischen Remotesystemen

Als letzten Ausweg können Sie einen FTP-Client zum Übertragen von Dateien zwischen entfernten und lokalen Systemen verwenden.

FileZilla ist einer der beliebtesten plattformübergreifenden FTP-Clients. Sie können es einfach auf Ihrem lokalen System installieren.

Gehen Sie nach der Installation zu Datei->Site-Manager und fügen Sie die Details des Remote-Systems wie IP-Adresse, SSH-Portnummer, Benutzername und Passwort hinzu.

Sobald Sie eine Verbindung hergestellt haben, können Sie eine geteilte Fensteransicht sehen, die das lokale Dateisystem auf der linken Seite und das entfernte Dateisystem auf der rechten Seite zeigt.

Um die Datei zu übertragen, ziehen Sie die Dateien per Drag-and-Drop von links nach rechts oder von rechts nach links. Unten erscheint ein Fortschrittsbalken.

Welche Methode bevorzugen Sie?

In Ordnung! Ich habe verschiedene Befehlszeilen- und GUI-Methoden gezeigt, die zum Kopieren von Dateien über SSH verwendet werden können.

Nun liegt es an Ihnen zu entscheiden, welche Methode Sie hier verwenden. Kommentieren Sie Ihre bevorzugte Methode zum Übertragen von Dateien über SSH.


Linux
  1. So übertragen Sie Dateien zwischen lokalen und Remote-Computern mit dem SFTP-Protokoll

  2. Verwenden des SFTP-Protokolls zum Übertragen von Dateien zwischen lokalen und Remote-Computern

  3. Kopieren Sie Dateien mit SCP und Rsync

  4. So übertragen Sie Dateien unter Linux mit SCP und Rsync

  5. So übertragen Sie Dateien sicher mit dem SCP-Befehl unter Linux

So übertragen Sie Dateien mit Rsync über SSH

SSHFS:So mounten Sie Remote-Dateisysteme über SSH

Übertragen Sie Dateien zwischen Windows und Linux über Ihr lokales Netzwerk

So übertragen Sie Dateien mit Rsync über SSH

Übertragen Sie Dateien und Ordner zwischen Computern mit Croc

4 Möglichkeiten zum Übertragen von Dateien und Verzeichnissen unter Linux