Das File Transfer Protocol ist ein Standardkommunikationsprotokoll, das für die Übertragung von Computerdateien von einem Server zu einem Client in einem Computernetzwerk verwendet wird.
FTP ist heute nicht beliebt, weil es an Sicherheit mangelt. Wenn eine Datei mit diesem Protokoll gesendet wird, werden die Daten, der Benutzername und das Passwort im Klartext geteilt, was bedeutet, dass ein Hacker mit wenig bis gar keinem Aufwand auf diese Informationen zugreifen kann. Damit die Daten sicher sind, müssen Sie eine aktualisierte FTP-Version wie SFTP verwenden.
SFTP Secure File Transfer Protocol ist ein Dateiübertragungsprotokoll, das sicheren Zugriff auf einen Remote-Computer bietet, um sichere Kommunikation bereitzustellen. Es nutzt SSH – Secure Socket Shell und wird häufig auch als „Secure Shell File Transfer Protocol“ bezeichnet.
Verwandte Inhalte
- So richten Sie einen SFTP-Server auf Debian 11 Server ein
- Dateien vom SFTP-Server mit einem Python-Skript herunterladen
- Auflisten, Hochladen und Herunterladen von Dateien von einem SFTP-Server mit Golang
- So richten Sie einen SFTP-Server auf OpenSUSE Leap 15.3 Server ein
- So installieren und konfigurieren Sie den sftp-Server in Ubuntu 20.04
- So richten Sie einen SFTP-Server auf CentOS 8 /RHEL 8 Server ein
Voraussetzungen
Um mitzumachen, stellen Sie sicher, dass Sie über Folgendes verfügen:
- Ein SFTP-Server, zu dem eine Verbindung hergestellt werden soll. Wenn Sie den Server einrichten möchten, lesen Sie die Anleitungen oben
- Anmeldedaten für die Verbindung zum Server
Inhaltsverzeichnis
- Verbindung zum SFTP-Server herstellen
- Überprüfe die sftp-Version
- Zeige Remote-Arbeitsverzeichnis
- Arbeitsverzeichnis des lokalen Computers anzeigen
- Dateien auf den sftp-Server hochladen
- Herunterladen von Dateien vom sftp-Server
- Verzeichnis auf dem sftp-Server erstellen und löschen
- Entfernen von Dateien auf dem sftp-Server
- Umbenennen von Dateien auf dem sftp-Server
- Überprüfen der Dateinutzung auf dem sftp-Server
- Hilfe bekommen
1. Verbindung zum SFTP-Server herstellen
Sie können das Befehlszeilenterminal verwenden, um Ihre Anmeldung beim SFTP zu testen. Dies kann sogar lokal auf dem sftp-Server erfolgen.
Dies ist das Format des Login-Befehls:
sftp [user]@[host]
Verbinden wir uns mit unserem Server. Ihr SFTP-Benutzername und Ihr Passwort werden benötigt.
sftp [email protected]
Ausgabe:
$ sftp [email protected]
The authenticity of host '192.168.10.10 (192.168.10.10)' can't be established.
ECDSA key fingerprint is SHA256:99KvuL95zO2CQbC8X0Re/Q+cYrJgqQgzpf1leemnjmY.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.10.10' (ECDSA) to the list of known hosts.
[email protected]'s password:
Connected to 192.168.10.10.
sftp>
Dadurch werden Sie beim Server angemeldet. Das Standardverzeichnis ist /home
dir im ChrootDirectory /home
angegeben Direktive in den ssh-Serverkonfigurationen.
2. Überprüfung der SFTP-Version
Verwenden Sie den Versionsbefehl, um die sftp-Version zu überprüfen.
sftp> version
SFTP protocol version 3
sftp>
3. Remote-Arbeitsverzeichnis anzeigen
Wenn Sie das aktuelle Arbeitsverzeichnis auf dem Remote-Server überprüfen müssen, wird die Datei pwd
Befehl ist praktisch:
sftp> pwd
Remote working directory: /sftpuser1
sftp>
4. Arbeitsverzeichnis des lokalen Rechners anzeigen
Um das aktuelle Arbeitsverzeichnis des lokalen Systems anzuzeigen, verwenden Sie lpwd
Befehl.
sftp> lpwd
Local working directory: /home/ubuntu
sftp>
Der erstellte Benutzer hat nur Zugriff auf sein Verzeichnis. Wechseln wir mit dem folgenden Befehl in dieses Verzeichnis:
sftp> cd sftpuser1
sftp>
Wechseln Sie in das Home-Verzeichnis des SFTP-Benutzers und versuchen Sie, wie folgt ein neues Verzeichnis zu erstellen:
sftp> ls
sftpuser1 ubuntu
sftp> cd sftpuser1
sftp> ls
sftp> mkdir datadir
sftp> ls
datadir
5. Laden Sie Dateien auf den sftp-Server hoch
Vom Lokalen aus
Laden Sie Dateien mit dieser Befehlssyntax auf einen Remote-Server hoch:
$ sftp {user}@{host}:{remote-path} <<< $'put {local-path}'
Beispiel:
$ sftp [email protected]:/sftpuser1/ <<< $'put ./citizix.txt'
[email protected]'s password:
Connected to 127.0.0.1.
Changing to: /sftpuser1/
sftp> put ./citizix.txt
Uploading ./citizix.txt to /sftpuser1/citizix.txt
./citizix.txt
Über den sftp-Server
Verwenden Sie diese Befehle: ls
um Dateien aufzulisten, lls
für lokale Liste put
zum Hochladen von Dateien:
sftp>
sftp> pwd
Remote working directory: /sftpuser1/datadir
sftp> ls
sftp> lls
citizix.txt snap tmp
sftp> put citizix.txt
Uploading citizix.txt to /sftpuser1/datadir/citizix.txt
citizix.txt 100% 32 25.8KB/s 00:00
sftp> ls
citizix.txt
sftp>
Um mehrere Dateien auf einmal hochzuladen, können wir mput
verwenden Befehl wie im Beispiel unten. Sie können mput
verwenden mit regulären Ausdrücken wie data[23]
um data2
hochzuladen , data3
und ignorieren data1
. Sie können einen beliebigen Platzhalter oder regulären Ausdruck mit mput
verwenden .
sftp>
sftp> pwd
Remote working directory: /sftpuser1/data
sftp> ls
sftp> lls
data1 data2 data3
sftp> mput data[23]
Uploading data2 to /sftpuser1/data/data2
data2 100% 0 0.0KB/s 00:00
Uploading data3 to /sftpuser1/data/data3
data3 100% 0 0.0KB/s 00:00
sftp> ls
data2 data3
6. Herunterladen von Dateien vom sftp-Server
Von der lokalen Maschine aus
Um eine Datei von einem Remote-Server herunterzuladen, verwenden Sie die folgende Befehlssyntax:
$ sftp {user}@{remote-host}:{remote-file-name} {local-file-name}
Hier ist eine Demo zum Herunterladen einer Datei in einer Zeile mit sftp:
# sftp [email protected]:/sftpuser1/citizix.txt .
[email protected]'s password:
Connected to 127.0.0.1.
Fetching /sftpuser1/citizix.txt to ./citizix.txt
/sftpuser1/citizix.txt 100% 32 26.7KB/s 00:00
Vom Remote-SFTP-Server aus
Laden Sie eine einzelne Datei mit get
vom Server herunter . Beispiel für das Herunterladen von data2
sftp>
sftp> ls
data2 data3
sftp> lls
sftp> get data2
Fetching /sftpuser1/data/data2 to data2
sftp> lls
data2
sftp>
Verwenden Sie mget
um wie in diesem Beispiel mehrere Dateien herunterzuladen
sftp>
sftp> ls
data2 data3
sftp> lls
sftp> mget data*
Fetching /sftpuser1/data/data2 to data2
Fetching /sftpuser1/data/data3 to data3
sftp> lls
data2 data3
sftp>
7. Verzeichnis auf dem sftp-Server erstellen und löschen
Verwenden Sie die Befehle mkdir
und rmdir
um Verzeichnisse zu erstellen und zu löschen
sftp>
sftp> ls
sftp> mkdir data
sftp> ls
data
sftp> rmdir data
sftp>
8. Dateien vom sftp-Server entfernen
Verwenden Sie den Befehl rm
um Dateien zu löschen
sftp> rm data*
Removing /sftpuser1/data/data2
Removing /sftpuser1/data/data3
sftp>
9. Umbenennen von Dateien auf dem sftp-Server
Verwenden Sie den rename
Befehl zum Umbenennen von Dateien
sftp>
sftp> ls
data3
sftp> rename data3 data_original
sftp> ls
data_original
sftp>
10. Überprüfen der Dateisystemnutzung auf dem sftp-Server
Zeigen Sie Statistiken für das aktuelle Verzeichnis oder Dateisystem an, das „Pfad“ enthält, verwenden Sie den Befehl df. Wir können das Flag -h verwenden, um Statistiken in einem für Menschen lesbaren Format anzuzeigen. Beachten Sie, dass die angezeigten Statistiken für das jeweilige Dateisystem des Remote-SFTP-Servers und nicht für das Dateisystem des lokalen Computers gelten.
sftp> df
Size Used Avail (root) %Capacity
29540600 5917856 22103188 23622744 20%
sftp> df -h
Size Used Avail (root) %Capacity
28.2GB 5.6GB 21.1GB 22.5GB 20%
11. Hilfe bekommen
Um Hilfe zu verfügbaren Befehlen und Syntax für SFTP zu erhalten, verwenden Sie „?“ oder „Hilfe“.
sftp> ?
Ausgabe:
sftp> ?
Available commands:
bye Quit sftp
cd path Change remote directory to 'path'
chgrp [-h] grp path Change group of file 'path' to 'grp'
chmod [-h] mode path Change permissions of file 'path' to 'mode'
chown [-h] own path Change owner of file 'path' to 'own'
df [-hi] [path] Display statistics for current directory or
filesystem containing 'path'
exit Quit sftp
get [-afpR] remote [local] Download file
help Display this help text
lcd path Change local directory to 'path'
lls [ls-options [path]] Display local directory listing
lmkdir path Create local directory
ln [-s] oldpath newpath Link remote file (-s for symlink)
lpwd Print local working directory
ls [-1afhlnrSt] [path] Display remote directory listing
lumask umask Set local umask to 'umask'
mkdir path Create remote directory
progress Toggle display of progress meter
put [-afpR] local [remote] Upload file
pwd Display remote working directory
quit Quit sftp
reget [-fpR] remote [local] Resume download file
rename oldpath newpath Rename remote file
reput [-fpR] local [remote] Resume upload file
rm path Delete remote file
rmdir path Remove remote directory
symlink oldpath newpath Symlink remote file
version Show SFTP version
!command Execute 'command' in local shell
! Escape to local shell
? Synonym for help
Weitere Informationen finden Sie auf der sftp-Manpage.
$ man sftp
Verlassen Sie die SFTP-Sitzung
Schließlich können Sie den sftp mit dem bye
verlassen , exit
, oder exit
:
sftp> exit
$
Schlussfolgerung
In diesem Leitfaden haben wir es geschafft, grundlegende Vorgänge zu untersuchen, die auf einem SFTP-Server ausgeführt werden können