Android

Verwendung des Linux-Befehls sftp zum Übertragen von Dateien

Mit anderen Rechnern im lokalen Netzwerk arbeiten, Dateien verschieben, ... [Anfänger]

Mit anderen Rechnern im lokalen Netzwerk arbeiten, Dateien verschieben, ... [Anfänger]

Inhaltsverzeichnis:

Anonim

SFTP (SSH File Transfer Protocol) ist ein sicheres Dateiprotokoll, mit dem auf Dateien über einen verschlüsselten SSH-Transport zugegriffen, diese verwaltet und übertragen werden.

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

Im Gegensatz zum scp command , der nur Dateiübertragungen zulässt, können Sie mit dem Befehl sftp eine Reihe von Vorgängen für sftp ausführen und die Dateiübertragung fortsetzen.

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

Bevor Sie beginnen

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

Beim Übertragen großer Dateien wird empfohlen, den Befehl sftp in einer Bildschirm- oder einer tmux-Sitzung auszuführen.

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

Herstellen einer SFTP-Verbindung

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

Obwohl die herkömmliche Kennwortauthentifizierung standardmäßig eingerichtet und benutzerfreundlicher ist, wird empfohlen, SSH-Schlüssel zu erstellen und eine kennwortlose SFTP-Anmeldung einzurichten, wenn Sie regelmäßig über SSH / SFTP eine Verbindung zu Ihrem Server herstellen.

Verwenden Sie zum Öffnen einer SFTP-Verbindung zu einem sftp Befehl sftp gefolgt vom Benutzernamen des Remoteservers und der IP-Adresse oder dem Domänennamen:

sftp remote_username@server_ip_or_hostname

Sobald die Verbindung hergestellt ist, wird die sftp Eingabeaufforderung angezeigt, und Sie können mit dem Remotecomputer interagieren:

Connected to remote_username@server_ip_or_hostname. sftp>

Wenn der Remote-SSH-Server den Standardport 22 nicht -oPort , geben Sie mit der Option -oPort den alternativen Port an:

sftp -oPort=custom_port remote_username@server_ip_or_hostname

SFTP-Befehle

Die meisten SFTP-Befehle sind ähnlich oder identisch mit den Befehlen, die Sie in der Linux-Shell-Eingabeaufforderung verwenden würden.

Sie können eine Liste aller verfügbaren SFTP-Befehle abrufen, indem Sie help eingeben oder ? .

help

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

Navigieren mit SFTP

Wenn Sie am Remoteserver angemeldet sind, ist Ihr aktuelles Arbeitsverzeichnis das Ausgangsverzeichnis des Remotebenutzers. Sie können dies überprüfen, indem Sie Folgendes eingeben:

pwd

Remote working directory: /home/remote_username

Verwenden Sie den Befehl ls um die Dateien und Verzeichnisse ls :

ls

Verwenden Sie den Befehl cd um zu einem anderen Verzeichnis zu navigieren. Um beispielsweise in das Verzeichnis /tmp zu wechseln, geben Sie /tmp :

cd /tmp

Die obigen Befehle werden zum Navigieren und Bearbeiten des Remote-Standorts verwendet.

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

Um beispielsweise das lokale Arbeitsverzeichnis zu drucken, geben Sie Folgendes ein:

cd lpwd

Local working directory: /home/local_username

Übertragen von Dateien mit SFTP

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

Der Befehl sftp ist nützlich, wenn Sie auf einem Server ohne GUI arbeiten und Dateien übertragen oder andere Vorgänge an den Remotedateien ausführen möchten.

Herunterladen von Dateien mit dem SFTP-Befehl

Sobald Sie am Remote-Server angemeldet sind, ist Ihr aktuelles Arbeitsverzeichnis das Home-Verzeichnis des Remote-Benutzers.

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

Verwenden Sie den Befehl get , um eine einzelne Datei vom Remote-Server herunterzuladen:

get filename.zip

Die Ausgabe sollte ungefähr so ​​aussehen:

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

get filename.zip local_filename.zip

Verwenden Sie die rekursive Option -r , um ein Verzeichnis vom fernen System herunterzuladen:

get -r remote_directory

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

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

reget filename.zip

Hochladen von Dateien mit dem SFTP-Befehl

Verwenden Sie den Befehl put um eine Datei vom lokalen Computer auf den Remote-SFTP-Server hochzuladen:

put filename.zip

Die Ausgabe sollte ungefähr so ​​aussehen:

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

Wenn sich die hochzuladende Datei nicht in Ihrem aktuellen Arbeitsverzeichnis befindet, verwenden Sie den absoluten Pfad zur Datei.

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

Um ein lokales Verzeichnis hochzuladen, geben Sie Folgendes ein:

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, stellen Sie normalerweise eine Verbindung über SSH her und erledigen Ihre Arbeit über das Shell-Terminal. In einigen Situationen hat der Benutzer jedoch möglicherweise nur SFTP-Zugriff auf den Remoteserver.

Mit SFTP können Sie einige grundlegende Dateibearbeitungsbefehle ausführen. Im Folgenden finden Sie einige Beispiele für die Verwendung der SFTP-Shell:

  • Informationen zur 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 fernen System:

    chmod 644 file_name

    Ändern Sie den Eigentümer einer Datei auf dem fernen System:

    chown user_id file_name

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

    Ä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 .

Fazit

In diesem Tutorial haben wir Ihnen gezeigt, wie Sie mit dem Befehl sftp Dateien auf Ihren Remote-SFTP-Server herunterladen und von dort hochladen können.

Möglicherweise möchten Sie auch eine SSH-Schlüssel-basierte Authentifizierung einrichten und eine Verbindung zu Ihren Linux-Servern herstellen, ohne ein Kennwort einzugeben.

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

SFTP-Terminal