So verwenden Sie den FTP-Befehl unter Linux

Das File Transfer Protocol ist älter als die meisten unserer Leser, aber es funktioniert immer noch gut. FTP bietet nicht die Sicherheit eines modernen Protokolls, aber Sie müssen es möglicherweise trotzdem verwenden. So geht’s.

Warnung: Verwenden Sie kein FTP über das Internet

Lassen Sie uns das gleich zu Beginn klarstellen: Das File Transfer Protocol (FTP) stammt aus den frühen 1970er Jahren und wurde ohne Rücksicht auf Sicherheit geschrieben. Es verwendet keine Verschlüsselung für alles. Login-Daten wie Benutzername und Passwort sowie die Daten, die Sie herunterladen oder hochladen, werden im Klartext übertragen. Jeder auf dem Weg kann Ihre Geheimnisse einsehen. FTP hat jedoch immer noch seine Verwendung.

Wenn Sie Dateien innerhalb Ihres Netzwerks übertragen, sollten Sie auf der sicheren Seite sein – solange niemand im Netzwerk Pakete ausspioniert und sensible Dokumente bei der Übertragung belauscht. Wenn Ihre Dateien in keiner Weise vertraulich oder sensibel sind, sollte es in Ordnung sein, sie mit FTP in Ihrem internen Netzwerk zu verschieben. Linux hat den Standard-ftp Kommandozeilenprogramm um genau mit diesem Szenario umzugehen.

Verwenden Sie jedoch auf keinen Fall den Befehl ftp, um über das Internet auf externe Ressourcen zuzugreifen. Verwenden Sie dazu das sftp Kommandozeilenprogramm, das das sichere SSH File Transfer Protocol verwendet. Wir werden diese beiden Programme in diesem Tutorial vorstellen.

Um zu verdeutlichen, warum Sie FTP niemals über das Internet verwenden möchten, sehen Sie sich den folgenden Screenshot an. Es zeigt das FTP-Passwort im Klartext an. Jeder in Ihrem Netzwerk oder zwischen Ihnen und dem FTP-Server im Internet kann leicht erkennen, dass das Passwort „MySecretPassword“ ist.

Ohne die Verschlüsselung könnte ein böswilliger Akteur auch Dateien ändern, die Sie während der Übertragung herunterladen oder hochladen.

Der ftp-Befehl

Vorausgesetzt, Sie haben ein gültiges Konto auf einer FTP-Site, können Sie sich mit dem folgenden Befehl darauf verbinden. Ersetzen Sie in diesem Artikel die IP-Adresse in den Befehlen durch die IP-Adresse des FTP-Servers, zu dem Sie eine Verbindung herstellen.

ftp  192.168.4.25

Warnung: Sie sollten den ftp-Befehl nur verwenden, um eine Verbindung zu Servern in einem vertrauenswürdigen lokalen Netzwerk herzustellen. Verwenden Sie den unten beschriebenen sftp-Befehl, um Dateien über das Internet zu übertragen.

Der FTP-Server antwortet mit einer Willkommensnachricht. Der Wortlaut der Begrüßung variiert von Server zu Server. Es fragt dann nach dem Benutzernamen des Kontos, bei dem Sie sich anmelden.

  So installieren Sie Libre Office unter Linux

Beachten Sie, dass die IP-Adresse der Site, mit der Sie sich verbinden, angezeigt wird, gefolgt von Ihrem Linux-Benutzernamen. Wenn Ihr Kontoname auf dem FTP-Server mit Ihrem Linux-Benutzernamen übereinstimmt, drücken Sie einfach die Eingabetaste. Dadurch wird Ihr Linux-Benutzername als Kontoname auf dem FTP-Server verwendet. Wenn Ihr Linux-Benutzername und der FTP-Kontoname unterschiedlich sind, geben Sie den FTP-Benutzernamen ein und drücken Sie dann die Eingabetaste.

Beim FTP-Server anmelden

Sie werden aufgefordert, Ihr Passwort für die FTP-Site einzugeben. Geben Sie Ihr Passwort ein und drücken Sie die Eingabetaste. Ihr Passwort wird nicht auf dem Bildschirm angezeigt. Wenn Ihr FTP-Benutzerkontoname und Ihre Kennwortkombination vom FTP-Server überprüft werden, sind Sie dann beim FTP-Server angemeldet.

Sie werden mit der Eingabeaufforderung ftp> angezeigt.

Sich umsehen und Dateien abrufen

Zuerst möchten Sie wahrscheinlich eine Auflistung der Dateien auf dem FTP-Server. Genau das macht der Befehl ls. Unser Benutzer sieht die Datei gc.c auf dem FTP-Server und möchte sie auf seinen eigenen Computer herunterladen. Sein Computer ist im FTP-Sprachgebrauch der „lokale Computer“.

Der Befehl zum Abrufen (oder „Get“) einer Datei ist get. Unser Benutzer gibt daher den Befehl get gc.c aus. Sie geben get, ein Leerzeichen und dann den Namen der Datei ein, die sie abrufen möchten.

Der FTP-Server antwortet, indem er die Datei auf den lokalen Computer überträgt und die Übertragung bestätigt. Die Dateigröße und die Übertragungszeit werden ebenfalls angezeigt.

ls
get gc.c

Um mehrere Dateien gleichzeitig abzurufen, verwenden Sie den Befehl mget (multiple get). Der Befehl mget fordert Sie auf, zu bestätigen, ob Sie jede Datei nacheinander herunterladen möchten. Antworten Sie mit „y“ für ja und „n“ für nein.

Dies wäre bei einer großen Anzahl von Dateien mühsam. Aus diesem Grund werden Sammlungen verwandter Dateien auf FTP-Sites normalerweise als einzelne tar.gz- oder tar.bz2-Dateien gespeichert.

mget *.c

Hochladen von Dateien auf den FTP-Server

Abhängig von den Berechtigungen, die Ihrem FTP-Konto gewährt wurden, können Sie möglicherweise Dateien auf den Server hochladen (oder „ablegen“). Um eine Datei hochzuladen, verwenden Sie den Befehl put. In unserem Beispiel lädt der Benutzer eine Datei namens Songs.tar.gz auf den FTP-Server hoch.

put Songs.tar.gz

Wie Sie wahrscheinlich erwarten, gibt es einen Befehl, um mehrere Dateien gleichzeitig auf den FTP-Server zu stellen. Es heißt mput (multiple put). Genau wie der Befehl mget fragt mput nach einer „y“- oder „n“-Bestätigung für das Hochladen jeder Datei nacheinander.

  So überprüfen Sie die Sicherheit eines Linux-PCs mit Lynis

Das gleiche Argument für das Ablegen von Dateigruppen in tar-Archiven gilt für das Ablegen von Dateien wie für das Abrufen von Dateien. Unser Benutzer lädt mehrere „.odt“-Dateien mit dem folgenden Befehl hoch:

mput *.odt

Verzeichnisse erstellen und ändern

Wenn Ihr Benutzerkonto auf dem FTP-Server dies zulässt, können Sie möglicherweise Verzeichnisse erstellen. Der Befehl dazu ist mkdir . Um es klarzustellen, jedes Verzeichnis, das Sie mit dem Befehl mkdir erstellen, wird auf dem FTP-Server und nicht auf Ihrem lokalen Computer erstellt.

Um Verzeichnisse auf dem FTP-Server zu ändern, verwenden Sie den Befehl cd. Wenn Sie den Befehl cd verwenden, ändert sich die Eingabeaufforderung ftp> nicht, um Ihr neues aktuelles Verzeichnis anzuzeigen. Der Befehl pwd (Arbeitsverzeichnis drucken) zeigt Ihnen Ihr aktuelles Verzeichnis an.

Unser FTP-Benutzer erstellt ein Verzeichnis namens music, wechselt in dieses neue Verzeichnis, bestätigt seinen Standort mit dem Befehl pwd und lädt dann eine Datei in dieses Verzeichnis hoch.

mkdir music
cd music
pwd
put songs.tar.gz

Um schnell in das übergeordnete Verzeichnis des aktuellen Verzeichnisses zu wechseln, verwenden Sie den Befehl cdup.

cdup

Zugriff auf den lokalen Computer

Um das Verzeichnis auf dem lokalen Computer zu ändern, können Sie den Befehl lcd an der Eingabeaufforderung ftp> verwenden. Es ist jedoch leicht, den Überblick zu verlieren, wo Sie sich im lokalen Dateisystem befinden. Eine bequemere Methode für den Zugriff auf das lokale Dateisystem ist die Verwendung des ! Befehl.

Die ! Befehl öffnet ein Shell-Fenster auf dem lokalen Computer. Sie können in dieser Shell alles tun, was Sie in einem Standard-Terminalfenster tun können. Wenn Sie exit eingeben, kehren Sie zur Eingabeaufforderung ftp> zurück.

Unser Benutzer hat die ! Befehl und gab ein Shell-Fenster auf dem lokalen Computer ein. Sie haben einen ls-Befehl ausgegeben, um zu sehen, welche Dateien in diesem Verzeichnis vorhanden sind, und dann exit eingegeben, um zur Eingabeaufforderung ftp> zurückzukehren.

!
ls
exit

Dateien umbenennen

Um Dateien auf dem FTP-Server umzubenennen, verwenden Sie den Befehl rename. Hier benennt unser FTP-Benutzer eine Datei mit rename um und verwendet dann den ls-Befehl, um die Dateien im Verzeichnis aufzulisten.

rename songs.tar.gz rock_songs.tar.gz
ls

Dateien löschen

Um Dateien auf dem FTP-Server zu löschen, verwenden Sie den Befehl delete. Um mehrere Dateien gleichzeitig zu löschen, verwenden Sie den Befehl mdelete. Sie werden aufgefordert, das Löschen jeder Datei mit einem „y“ oder „n“ zu bestätigen.

  So installieren Sie JetBrains RubyMine unter Linux

Hier hat unser FTP-Benutzer die Dateien aufgelistet, um ihre Namen zu sehen, und dann eine zum Löschen ausgewählt. Sie beschließen dann, sie alle zu löschen.

ls
delete gc.o
mdelete *.o

Verwenden des sftp-Befehls

Leser, die mit dem IP-Adressierungssystem vertraut sind, werden bemerkt haben, dass die 192.168-Adresse des FTP-Servers, die in den obigen Beispielen verwendet wird, eine interne IP-Adresse ist, die auch als private IP-Adresse bezeichnet wird. Wie wir am Anfang dieses Artikels gewarnt haben, sollte der ftp-Befehl nur in internen Netzwerken verwendet werden.

Wenn Sie eine Verbindung zu einem entfernten oder öffentlichen FTP-Server herstellen möchten, verwenden Sie den Befehl sftp. Unser Benutzer wird sich mit einem SFTP-Konto namens Demo auf dem öffentlich zugänglichen FTP-Server unter test.trebex.net verbinden.

Wenn sie eine Verbindung herstellen, werden sie darüber informiert, dass die Verbindung hergestellt wurde. Sie werden auch darauf hingewiesen, dass die Authentizität des Hosts nicht überprüft werden kann. Dies ist bei der ersten Verbindung eines neuen Hosts normal. Sie drücken „y“, um die Verbindung zu akzeptieren.

Da der Benutzerkontoname (Demo) auf der Befehlszeile übergeben wurde, werden sie nicht zur Eingabe des Benutzerkontonamens aufgefordert. Sie werden nur zur Eingabe des Kennworts aufgefordert. Dies wird eingegeben, überprüft und akzeptiert, und sie werden mit der Eingabeaufforderung sftp> angezeigt.

sftp [email protected]

Die oben beschriebenen FTP-Befehle funktionieren in einer SFTP-Sitzung genauso, mit den folgenden Ausnahmen.

Um eine Datei zu löschen, verwenden Sie rm (FTP verwendet delete)
Um mehrere Dateien zu löschen, verwenden Sie rm (FTP verwendet mdelete)
Um in das übergeordnete Verzeichnis zu wechseln, verwenden Sie cd .. (FTP verwendet cdup)

Unser Benutzer hat einige Befehle in seiner SFTP-Sitzung verwendet. Sie verwenden ls, um die Dateien aufzulisten, und cd, um in das Verzeichnis pub zu wechseln. Sie haben das pwd verwendet, um das Arbeitsverzeichnis zu drucken.

Es gibt andere Optionen zum Übertragen von Dateien in der Linux-Welt, insbesondere scp (sichere Kopie), aber wir haben uns hier auf FTP und SFTP konzentriert. In den entsprechenden Szenarien werden diese beiden Befehle Ihnen und Ihren Anforderungen zum Speichern und Abrufen von Dateien gut tun.