Getty Images
Dateiübertragungsprotokolle gehören zu den ältesten Funktionen von Netzwerken, und sie sind auch heute nicht weniger wichtig. Die HTTP- und HTTPS-Protokolle sind eindeutig unverzichtbar, und FTP-Dienste bieten immer noch Vorteile.
In Netzwerken werden viele eigenständige Dateiübertragungsprogramme verwendet, zum Beispiel Wget, cURL, FTP und Trivial FTP. Für Netzwerkadministratoren wäre es jedoch hilfreich, ein einziges Tool zu haben, das viele Protokolle beherrscht und praktische Funktionen bietet.
An dieser Stelle kommt LFTP ins Spiel.
Hier sind einige der wichtigsten Vorteile von LFTP:
- Einfache und funktionsreiche CLI.
- Unterstützung für viele Protokolle, einschließlich FTP, Secure FTP, FTP Secure, HTTP, HTTPS und mehr.
- Interaktiver Modus für Funktionen wie Bearbeitung, Lesezeichen sowie Ein- und Ausschluss von Dateien.
- Skriptfähig mit nicht-interaktiven Befehlen, was für Infrastructure-as-Code- (IaC) und Continuous-Integration/Continuous-Delivery-Workflows nützlich ist.
- Freie und quelloffene Software.
Der Einsatz von LFTP ermöglicht es Netzwerkadministratoren, eine rationalisierte, benutzerfreundliche und automatisierte Reihe von Dateiübertragungsaufgaben zu erstellen, ohne mehrere Tools konfigurieren und verwalten zu müssen. LFTP kann FileZilla, cURL, Wget und einfache FTP-Clients für alltägliche Dateiübertragungsaufgaben ersetzen.
LFTP installieren
Beginnen wir mit der Installation von LFTP auf einer Linux-Workstation. Der Prozess ist einfach und typisch für Linux-Anwendungen – verwenden Sie dazu den Paketmanager.
Ubuntu
Für Ubuntu oder andere Debian-basierte Distributionen geben Sie die folgenden Befehle ein:
sudo apt-get update
sudo apt-get install lftp
Red Hat und Fedora
Für Red Hat, Fedora oder ähnliche Distributionen, geben Sie Folgendes ein:
sudo dnf install lftp
macOS
Der LFTP Client wurde für Linux entwickelt, daher ist das Hinzufügen zu macOS und Windows etwas zeitaufwendiger.
Der beste Weg, LFTP auf einem Mac hinzuzufügen, ist die Verwendung des Homebrew-Paketmanagers. Sobald Sie Homebrew installiert haben, geben Sie Folgendes ein:
brew install lftp
Details zur Homebrew-Installation finden Sie hier.
Windows
Windows-Benutzer benötigen einen umfangreicheren Workaround. Installieren Sie zunächst Cygwin, eine Sammlung von Tools für Windows, die denen der meisten Linux-Distributionen ähnlich sind. Sobald Sie Cygwin installiert haben, fügen Sie die Cygwin-Version von LFTP und seine Abhängigkeiten hinzu.
Eine weitere Alternative besteht darin, eine Linux-VM auf dem Windows-Host laufen zu lassen.
Der weitere Verlauf dieses Artikels geht von LFTP auf einem Linux-System aus.
Herstellen einer Remote-Verbindung
Für den Aufbau einer einfachen Verbindung zu einem entfernten Server wird eine ähnliche Syntax verwendet wie bei Tools für FTP oder Secure Shell. Sie benötigen den Hostnamen oder die IP-Adresse des entfernten Systems, mit dem Sie eine Verbindung herstellen möchten. Geben Sie dann den folgenden Befehl ein:
lftp ftp://192.0.2.127
Den Typ des entfernten Servers wird in diesem Beispiel mit dem Attribut ftp:// angegeben. Denken Sie daran, dass LFTP viele Übertragungsprotokolle unterstützt und fügen Sie das entsprechende Protokoll in den Befehl ein. Im obigen Beispiel identifiziert die IP-Adresse 192.0.2.127 das entfernte System.
Zu diesem Zeitpunkt sind Sie im interaktiven Modus verbunden. Sie erkennen das an dem geänderten Eingabeaufforderung im Terminal:
lftp ftp://192.0.2.127:~>
Allerdings sind Sie noch nicht authentifiziert. Geben Sie den Befehl login oder user lftp mit einem anerkannten Namen und Passwort ein:
login nutzername passwort
Eine Möglichkeit, die Verbindungsaufnahme zu vereinfachen, besteht darin, den Benutzernamen und das Passwort in den Verbindungsbefehl aufzunehmen:
lftp ftp://nutzername:[email protected]
Wenn der Login-Versuch erfolgreich war, ändert sich die Eingabeaufforderung und der Nutzername wird zusätzlich angezeigt:
lftp nutzername@ftp://192.0.2.127:~>
LFTP verwenden
Die meisten Benutzer suchen nach grundlegenden Up- und Download-Funktionen. LFTP enthält viele Befehle für Flexibilität und Automatisierung, aber das Kopieren nach oben und unten ist die grundlegende Anwendung.
Der Befehl zum Kopieren einer Datei von einem entfernten Server auf eine Arbeitsstation lautet get. Nehmen wir an, Sie möchten eine Datei namens server-configs.txt auf Ihr System herunterladen und sie dabei in server.txt umbenennen. Geben Sie im interaktiven Modus das Folgende ein:
get server-configs.txt -o servers.txt
Wenn Sie die Arbeit mit der Datei beendet haben, müssen Sie vielleicht eine neue Version auf den entfernten Server hochladen. Verwenden Sie den Unterbefehl put. Sie können die Datei auch wieder in den ursprünglichen Dateinamen umbenennen und die vorhandene Datei überschreiben:
put servers.txt -o server-configs.txt
Verwenden Sie den Befehl mirror, um Verzeichnisse herunter- oder hochzuladen. Es gibt viele Variationen und Möglichkeiten, um solche Kopien effizienter zu gestalten.
Eine weitere interessante LFTP-Funktion ist die Dateibearbeitung. Der Befehl edit speichert eine lokale Kopie der Datei auf einem System und öffnet sie im Standard-Editor, bei dem es sich wahrscheinlich um Vim oder Nano handelt. Sobald Sie die Änderungen abgeschlossen haben, wird die lokale Kopie automatisch wieder auf den entfernten Server übertragen. Der Befehl edit vereinfacht den Prozess stark im Vergleich zu den einzelnen Schritten get, Texteditor öffnen und put.
Der wahrscheinlich hilfreichste Befehl für LFTP ist, nun ja, help. Geben Sie help im interaktiven Modus von LFTP ein, um eine Seite anzuzeigen, die die vielen LFTP-Unterbefehle und Konfigurationen erklärt.
Andere Befehle sind Ihnen wahrscheinlich vertraut, wenn Sie mit Bash oder FTP gearbeitet haben, zum Beispiel die folgenden
- ls - Zeigt den Inhalt des entfernten Verzeichnisses an.
- lcd - Wechselt das lokale Verzeichnis.
- bye - Beendet die LFTP-Shell.
Eine weitere Alternative ist die Integration von LFTP in GitHub Actions. GitHub Actions ermöglicht es Ihnen, Arbeitsabläufe zu automatisieren. Einige dieser Workflows könnten Dateiübertragungen beinhalten, für die Sie LFTP verwenden möchten. Erstellen Sie einen Workflow, der die LFTP-Befehle enthält, die Sie ausführen wollen.
Lesezeichen für entfernte Systeme
Viele Funktionen von LFTP tragen dazu bei, das Programm benutzerfreundlich zu gestalten, aber die Lesezeichen (Bookmarks) sind besonders nützlich. Sie können Ihre eigenen Lesezeichen für häufige Fernverbindungen erstellen, was den Prozess vereinfacht und die Automatisierung erleichtert. Diese Schritte setzen voraus, dass Sie sich in der interaktiven LFTP-Oberfläche befinden.
Verwenden Sie den Befehl bookmark add mit dem gewünschten Namen des Lesezeichens für den aktuellen Remote-Server (server01), um ein Lesezeichen zu erstellen. Dieses Beispiel setzt ftp://192.0.2.127 als Lesezeichen mit dem Namen server01:
bookmark add server01
Um das Lesezeichen zu verwenden, kombinieren Sie den Befehl lftp mit dem von Ihnen angegebenen Namen. Hier ist ein Beispiel, das auf dem obigen Lesezeichen basiert (Sie befinden sich dazu nicht im interaktiven Modus):
lftp server01
Verwenden Sie den Befehl open server01, wenn Sie sich bereits im interaktiven Modus von LFTP befinden.
Zeigen Sie die vorhandenen Lesezeichen mit bookmark list an.
Öffnen Sie die LFTP-Lesezeichen-Datei im Standard-Texteditor des Systems mit dem Befehl bookmark edit. Verwenden Sie Lesezeichen del server01, um das Lesezeichen zu entfernen.
Lesezeichen sind ein nützlicher Bestandteil des LFTP-Clients.
Fazit
Betrachten Sie Ihre aktuellen Prozesse. Verwalten Sie viele Dateiübertragungen, insbesondere zwischen Linux-Systemen? Kommen bei diesem Prozess verschiedene Protokolle zum Einsatz? Wenn ja, könnte LFTP das Richtige für Sie sein. Sie können es einfach auf einer Linux- oder macOS-Workstation installieren. Nehmen Sie sich etwas Zeit, um die Grundlagen zu erlernen, und konzentrieren Sie sich dann auf die folgenden zwei spezifischen Bereiche:
- Vereinfachen der Bedienung durch Funktionen wie Lesezeichen.
- Automatisieren von Prozessen mit skriptfähigen und nicht interaktiven Funktionen.
Sie werden schnell die Vorteile eines einzigen Clients für die Verwaltung mehrerer Protokolle erkennen.