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

So arbeiten Sie mit dem SFTP-Client unter Linux – 10 sftp-Befehle

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

  1. Verbindung zum SFTP-Server herstellen
  2. Überprüfe die sftp-Version
  3. Zeige Remote-Arbeitsverzeichnis
  4. Arbeitsverzeichnis des lokalen Computers anzeigen
  5. Dateien auf den sftp-Server hochladen
  6. Herunterladen von Dateien vom sftp-Server
  7. Verzeichnis auf dem sftp-Server erstellen und löschen
  8. Entfernen von Dateien auf dem sftp-Server
  9. Umbenennen von Dateien auf dem sftp-Server
  10. Überprüfen der Dateinutzung auf dem sftp-Server
  11. 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


Linux
  1. So richten Sie einen SFTP-Server unter Arch Linux ein

  2. So arbeiten Sie mit Benutzern und Gruppen in Linux

  3. So überwachen Sie die Sicherheit von Linux-Servern mit Osquery

  4. Wie registriere ich einen Linux-Server beim Windows-DNS-Server?

  5. So richten Sie einen Linux-Server als Router mit NAT ein

So verwalten Sie einen Linux-Server mit SSH aus der Ferne

So arbeiten Sie mit Vordergrund- und Hintergrundprozessen unter Linux

Wie man mit Hardlinks und Softlinks unter Linux arbeitet

Linux – Wie funktioniert die Anzeige von Linux?

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

So überprüfen Sie die VPS-Serverparameter mit dem Linux-Befehl