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

So verwenden Sie den SFTP-Befehl zum Übertragen von Dateien

SFTP (SSH File Transfer Protocol) ist ein sicheres Dateiprotokoll, das für den Zugriff, die Verwaltung und die Übertragung von Dateien über einen verschlüsselten SSH-Transport verwendet wird.

Im Vergleich zum herkömmlichen FTP-Protokoll bietet SFTP alle Funktionen von FTP, ist jedoch sicherer und einfacher zu konfigurieren.

Im Gegensatz zu SCP, das nur Dateiübertragungen unterstützt, können Sie mit SFTP eine Reihe von Vorgängen an entfernten Dateien ausführen und Dateiübertragungen fortsetzen.

In diesem Tutorial zeigen wir Ihnen, wie Sie Linux sftp verwenden Befehl.

Bevor Sie beginnen #

Um Dateien per SFTP übertragen zu können, benötigen Sie Schreibrechte auf dem Remote-System.

Beim Übertragen großer Dateien wird empfohlen, sftp auszuführen Befehl innerhalb eines Bildschirms oder einer tmuxsession.

Das Verzeichnis, von dem aus Sie sftp ausführen Befehl ist das lokale Arbeitsverzeichnis.

Verwechseln Sie SFTP nicht mit FTPS. Beide Protokolle dienen demselben Zweck. FTPS steht jedoch für FTP Secure und ist eine Erweiterung des Standard-FTP-Protokolls mit Unterstützung für TLS.

Herstellen einer SFTP-Verbindung #

SFTP arbeitet nach einem Client-Server-Modell. Es ist ein Subsystem von SSH und unterstützt alle SSH-Authentifizierungsmechanismen.

Um eine SFTP-Verbindung zu einem Remote-System herzustellen, verwenden Sie den sftp Befehl gefolgt vom Benutzernamen des Remote-Servers und der IP-Adresse oder dem Domänennamen:

sftp remote_username@server_ip_or_hostname

Wenn Sie die Verbindung zum Host mithilfe der Kennwortauthentifizierung herstellen, werden Sie aufgefordert, das Benutzerkennwort einzugeben.

Sobald die Verbindung hergestellt ist, wird Ihnen der sftp angezeigt Eingabeaufforderung, und Sie können mit der Interaktion mit dem Remote-Server beginnen:

Connected to remote_username@server_ip_or_hostname.
sftp>

Wenn der Remote-SSH-Server nicht auf dem Standardport 22 lauscht, verwenden Sie den -P Option zur Angabe des SFTP-Ports:

sftp -P custom_port remote_username@server_ip_or_hostname

SFTP-Befehle #

Die meisten SFTP-Befehle sind ähnlich oder identisch mit den Linux-Shell-Befehlen.

Um eine Liste aller verfügbaren SFTP-Befehle zu erhalten, geben Sie help ein , oder ? .

help

Dies gibt eine lange Liste aller verfügbaren Befehle aus, einschließlich einer kurzen Beschreibung jedes Befehls:

Available commands:
bye                                Quit sftp
cd path                            Change remote directory to 'path'
...
...
version                            Show SFTP version
!command                           Execute 'command' in local shell
!                                  Escape to local shell
?                                  Synonym for help

Wenn Sie beim Remote-Server angemeldet sind, ist Ihr aktuelles Arbeitsverzeichnis das Home-Verzeichnis des Remote-Benutzers. Sie können dies überprüfen, indem Sie Folgendes eingeben:

pwd
Remote working directory: /home/remote_username

Um die Dateien und Verzeichnisse aufzulisten, verwenden Sie ls Befehl:

ls

Um zu einem anderen Verzeichnis zu navigieren, verwenden Sie cd Befehl. Zum Beispiel, um zu /tmp zu wechseln Verzeichnis würden Sie Folgendes eingeben:

cd /tmp

Die obigen Befehle werden zum Navigieren und Arbeiten am entfernten Standort verwendet.

Die SFTP-Shell bietet auch Befehle für die lokale Navigation, Informationen und Dateiverwaltung. Den lokalen Befehlen wird der Buchstabe l vorangestellt .

Um beispielsweise das lokale Arbeitsverzeichnis zu drucken, würden Sie Folgendes eingeben:

cd lpwd
Local working directory: /home/local_username

Übertragen von Dateien mit SFTP #

Mit SFTP können Sie Dateien sicher zwischen zwei Computern übertragen.

Wenn Sie auf einem Desktop-Rechner arbeiten, können Sie einen GUI-SFTP-Client wie WinSCP oder FileZilla verwenden, um eine Verbindung zum Remote-Server herzustellen und Dateien herunter- oder hochzuladen.

Die sftp Der Befehl ist nützlich, wenn Sie auf einem Server ohne GUI arbeiten und Dateien übertragen oder andere Operationen mit den Remote-Dateien ausführen möchten.

Herunterladen von Dateien mit dem SFTP-Befehl #

Um eine einzelne Datei vom Remote-Server herunterzuladen, verwenden Sie get Befehl:

get filename.zip

Die Ausgabe sollte in etwa so aussehen:

Fetching /home/remote_username/filename.zip to filename.zip
/home/remote_username/filename.zip                           100%   24MB   1.8MB/s   00:13

Beim Herunterladen von Dateien mit sftp , werden die Dateien in das Verzeichnis heruntergeladen, aus dem Sie den sftp eingegeben haben Befehl.

Wenn Sie die heruntergeladene Datei unter einem anderen Namen speichern möchten, geben Sie den neuen Namen als zweites Argument an:

get filename.zip local_filename.zip

Um ein Verzeichnis vom entfernten System herunterzuladen, verwenden Sie den rekursiven -r Möglichkeit:

get -r remote_directory

Wenn eine Dateiübertragung fehlschlägt oder unterbrochen wird, können Sie sie mit reget fortsetzen Befehl.

Die Syntax von reget ist die gleiche wie die Syntax von get :

reget filename.zip

Hochladen von Dateien mit dem SFTP-Befehl #

Um eine Datei vom lokalen Rechner auf den entfernten SFTP-Server hochzuladen, verwenden Sie put Befehl:

put filename.zip

Die Ausgabe sollte in etwa so aussehen:

Uploading filename.zip to /home/remote_username/filename.zip
filename.zip                          100%   12MB   1.7MB/s   00:06

Wenn sich die Datei, die Sie hochladen möchten, nicht in Ihrem aktuellen Arbeitsverzeichnis befindet, verwenden Sie den absoluten Pfad zur Datei.

Beim Arbeiten mit put Sie können dieselben Optionen verwenden, die mit get verfügbar sind Befehl.

Um ein lokales Verzeichnis hochzuladen, würden Sie Folgendes eingeben:

put -r locale_directory

So setzen Sie einen unterbrochenen Upload fort:

reput filename.zip

Dateimanipulationen mit SFTP #

Um Aufgaben auf einem Remote-Server auszuführen, würden Sie sich normalerweise über SSH mit ihm verbinden und Ihre Arbeit über das Shell-Terminal erledigen. In einigen Situationen hat der Benutzer jedoch möglicherweise nur SFTP-Zugriff auf den Remote-Server.

Mit SFTP können Sie einige grundlegende Dateibearbeitungsbefehle ausführen. Nachfolgend finden Sie einige Beispiele zur Verwendung der SFTP-Shell:

  • Informationen über die Festplattennutzung des Remote-Systems abrufen:

    df
            Size         Used        Avail       (root)    %Capacity
        20616252      1548776     18002580     19067476           7%
  • Erstellen Sie ein neues Verzeichnis auf dem Remote-Server:

    mkdir directory_name
  • Benennen Sie eine Datei auf dem Remote-Server um:

    rename file_name new_file_name
  • Löschen Sie eine Datei auf dem Remote-Server:

    rm file_name
  • Löschen Sie ein Verzeichnis auf dem Remote-Server:

    rmdir directory_name
  • Ändern Sie die Berechtigungen einer Datei auf dem Remote-System:

    chmod 644 file_name
  • Ändern Sie den Eigentümer einer Datei auf dem Remote-System:

    chown user_id file_name

    Sie müssen die Benutzer-ID für chown angeben und chgrp Befehle.

  • Ändern Sie den Gruppeneigentümer einer entfernten Datei mit:

    chgrp group_id file_name

Wenn Sie mit Ihrer Arbeit fertig sind, schließen Sie die Verbindung, indem Sie bye eingeben oder quit .

Schlussfolgerung #

In diesem Tutorial haben wir Ihnen gezeigt, wie Sie sftp verwenden Befehl zum Herunterladen und Hochladen von Dateien auf Ihren Remote-SFTP-Server.

Sie können auch eine SSH-Schlüssel-basierte Authentifizierung einrichten und sich mit Ihren Linux-Servern verbinden, ohne ein Passwort einzugeben. Wenn Sie sich regelmäßig mit denselben Systemen verbinden, können Sie Ihren Arbeitsablauf vereinfachen, indem Sie alle Ihre Verbindungen in der SSH-Konfigurationsdatei definieren.

Fühlen Sie sich frei, einen Kommentar zu hinterlassen, wenn Sie Fragen oder Feedback haben.


Linux
  1. So verwenden Sie den Linux-Rsync-Befehl (Remote-Synchronisierung).

  2. So verwenden Sie den Grep-Befehl, um Text in Dateien zu finden

  3. So verwenden Sie den SFTP-Befehl für die sichere Dateiübertragung

  4. So übertragen Sie Dateien sicher mit sftp (Beispiele enthalten)

  5. So verwenden Sie den Befehl rpm2cpio unter Linux

So verwenden Sie den Linux-FTP-Befehl zum Übertragen von Dateien

So verwenden Sie den SCP-Befehl zum sicheren Übertragen von Dateien

So verwenden Sie den SCP-Befehl zum Übertragen von Dateien

So verwenden Sie den PS-Befehl

So verwenden Sie den TOP-Befehl

Gewusst wie:SFTP-Befehle – Dateien sicher auf einen Remote-Server übertragen