SFTP (SSH File Transfer Protocol) ist ein sicheres Dateiprotokoll, mit dem auf Dateien über einen verschlüsselten SSH-Transport zugegriffen, verwaltet und übertragen 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 dem SFTP eine Reihe von Vorgängen für Remote-Dateien ausführen und die Dateiübertragung fortsetzen.
In diesem Tutorial zeigen wir Ihnen, wie Sie den Befehl Linux verwenden.,
Bevor Sie beginnen #
Um Dateien über SFTP übertragen zu können, müssen Sie Schreibberechtigung auf dem Remote-System haben.
Beim Übertragen großer Dateien wird empfohlen, den Befehl in einer Screen-oder tmux-Sitzung auszuführen.
Das Verzeichnis, von dem aus Sie den Befehl ausführen, ist das lokale Arbeitsverzeichnis.
SFTP-Verbindung herstellen #
SFTP funktioniert auf einem Client-Server-Modell. Es ist ein subsystem von SSH und unterstützt alle SSH-Authentifizierungsmechanismen.
Um eine SFTP-Verbindung zu einem Remote-System zu öffnen, verwenden Sie den Befehl , gefolgt vom Benutzernamen des Remote-Servers und der IP-Adresse oder dem Domänennamen:
sftp remote_username@server_ip_or_hostname
Wenn Sie eine Verbindung zum Host mithilfe der Kennwortauthentifizierung herstellen, werden Sie aufgefordert, das Benutzerpasswort einzugeben.,
Sobald die Verbindung hergestellt ist, wird die Eingabeaufforderung angezeigt 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 den Standardport 22 nicht überwacht, verwenden Sie die Option , um den SFTP-Port anzugeben:
sftp -P custom_port remote_username@server_ip_or_hostname
SFTP-Befehle #
Die meisten SFTP-Befehle sind den Linux-Shell-Befehlen ähnlich oder identisch.
Um eine Liste aller verfügbaren SFTP-Befehle zu erhalten, geben Sie help
oder ?
ein.,
help
Dadurch wird eine lange Liste aller verfügbaren Befehle ausgegeben, einschließlich einer kurzen Beschreibung jedes Befehls:
Available commands:bye Quit sftpcd 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 auf dem 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 den Befehl ls
:
ls
Um zu einem anderen Verzeichnis zu navigieren, verwenden Sie den Befehl cd
. Um beispielsweise zum Verzeichnis /tmp
zu wechseln, geben Sie Folgendes ein:
cd /tmp
Die obigen Befehle werden verwendet, um zu navigieren und am entfernten Speicherort zu arbeiten.
Die SFTP-Shell bietet auch Befehle für die lokale Navigation, Information 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
Wenn Sie Dateien mit SFTP #
übertragen, können Sie Dateien sicher zwischen zwei Computern übertragen.
Wenn Sie auf einem Desktop-Computer arbeiten, können Sie einen GUI-SFTP-Client wie WinSCP oder FileZilla verwenden, um eine Verbindung zum Remote-Server herzustellen und Dateien herunterzuladen oder hochzuladen.,
Der Befehl ist nützlich, wenn Sie auf einem Server ohne GUI arbeiten und Dateien übertragen oder andere Vorgänge auf den Remote-Dateien ausführen möchten.,
Dateien mit dem SFTP-Befehl # herunterladen
Um eine einzelne Datei vom Remote-Server herunterzuladen, verwenden Sie den Befehl :
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
Beim Herunterladen von Dateien mit , die Dateien werden in das Verzeichnis heruntergeladen, aus dem Sie den Befehl eingegeben haben.,
Wenn Sie die heruntergeladene Datei mit 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 Remote-System herunterzuladen, verwenden Sie die rekursive -r
Option:
get -r remote_directory
Wenn eine Dateiübertragung fehlschlägt oder unterbrochen wird, können Sie sie div id=“19163bead6″> Befehl.,
Die Syntax von reget
entspricht der Syntax von :
reget filename.zip
Dateien mit dem SFTP-Befehl #
Um eine Datei vom lokalen Computer auf den entfernten SFTP-Server hochzuladen, verwenden Sie den Befehl put
:
put filename.zip
Die Ausgabe sollte ungefähr so aussehen:
Wenn sich die Datei, die Sie hochladen möchten, nicht in Ihrem aktuellen Arbeitsverzeichnis befindet, verwenden Sie den absoluten Pfad zur Datei.,
Wenn Sie mit put
arbeiten, können Sie dieselben Optionen verwenden, die mit dem Befehl verfügbar sind.
Um ein lokales Verzeichnis hochzuladen, geben Sie Folgendes ein:
put -r locale_directory
Um einen unterbrochenen Upload fortzusetzen:
reput filename.zip
Dateimanipulationen mit SFTP #
Um Aufgaben auf einem Remote-Server auszuführen, stellen Sie normalerweise eine Verbindung über SSH her und führen Ihre Arbeit über das Shell-Terminal aus. In einigen Situationen hat der Benutzer jedoch möglicherweise nur SFTP-Zugriff auf den Remote-Server.,
Mit SFTP können Sie einige grundlegende Dateimanipulationsbefehle ausführen.,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 Besitzer einer Datei auf dem Remote-System:
chown user_id file_name
Sie müssen die Benutzer-ID an die chown
und chgrp
Befehle.,
Ändern Sie den Gruppenbesitzer einer Remote-Datei mit:
chgrp group_id file_name
Sobald Sie mit Ihrer Arbeit fertig sind, schließen Sie die Verbindung, indem Sie bye
oder quit
eingeben.
Fazit #
In diesem Tutorial haben wir Ihnen gezeigt, wie Sie mit dem Befehl Dateien herunterladen und auf Ihren Remote-SFTP-Server hochladen können.
Möglicherweise möchten Sie auch eine SSH-schlüsselbasierte Authentifizierung einrichten und eine Verbindung zu Ihren Linux-Servern herstellen, ohne ein Kennwort einzugeben., Wenn Sie regelmäßig eine Verbindung zu denselben Systemen herstellen, können Sie Ihren Workflow vereinfachen, indem Sie alle Verbindungen in der SSH-Konfigurationsdatei definieren .
Schreibe einen Kommentar