Linux sftp-Befehl
Vollständige Liste der Linux-Befehle
Was ist sftp?
SFTP (SSH File Transfer Protocol) ist ein sicheres Dateiübertragungsprotokoll, das Dateien über einen verschlüsselten SSH-Kanal (Secure Shell) überträgt. Im Gegensatz zu herkömmlichem FTP bietet SFTP höhere Sicherheit, und alle übertragenen Daten werden verschlüsselt.
Unterschiede zwischen SFTP und FTP
| Merkmal | SFTP | FTP |
|---|---|---|
| Sicherheit | Verschlüsselte Übertragung | Klartextübertragung |
| Port | 22 (SSH-Port) | 21 (Steuerport) + 20 (Datenport) |
| Protokoll | Basiert auf SSH | Eigenständiges Protokoll |
| Firewall-Freundlichkeit | Nur ein Port muss geöffnet werden | Mehrere Ports müssen geöffnet werden |
Grundlegende Syntax des sftp-Befehls
sftp [选项] [用户名@]主机名[:路径]
Übliche Optionsparameter
| Option | Beschreibung |
|---|---|
-P 端口号 |
Verbindungsport angeben (Standard 22) |
-b 批处理文件 |
Befehle aus einer Batchdatei ausführen |
-r |
Ein gesamtes Verzeichnis rekursiv kopieren |
-v |
Detaillierte Debugging-Informationen anzeigen |
-i 私钥文件 |
Mit der angegebenen privaten Schlüsseldatei authentifizieren |
Mit SFTP-Server verbinden
Grundlegende Verbindungsmethode
Beispiel
sftp username@hostname
Beispiel:
Beispiel
sftp user@example.com
Mit einem angegebenen Port verbinden
Wenn der Server einen nicht standardmäßigen Port verwendet (nicht 22):
Beispiel
sftp -P 2222 user@example.com
Schlüsselauthentifizierung verwenden
Beispiel
sftp -i ~/.ssh/id_rsa user@example.com
Häufige SFTP-Befehle
1. Lokale Dateioperationen
| Befehl | Beschreibung |
|---|---|
lls |
Lokale Verzeichnisinhalte auflisten |
lcd |
Lokales Arbeitsverzeichnis wechseln |
lmkdir |
Verzeichnis lokal erstellen |
lrm |
Lokale Dateien löschen |
2. Remote-Dateioperationen
| Befehl | Beschreibung |
|---|---|
ls |
Remote-Verzeichnisinhalte auflisten |
cd |
Remote-Arbeitsverzeichnis wechseln |
mkdir |
Verzeichnis remote erstellen |
rm |
Remote-Dateien löschen |
rename |
Remote-Dateien umbenennen |
3. Dateiübertragung
| Befehl | Beschreibung |
|---|---|
put 本地文件 [远程路径] |
Dateien auf einen Remote-Server hochladen |
get 远程文件 [本地路径] |
Dateien von einem Remote-Server herunterladen |
mput 本地文件* |
Mehrere Dateien hochladen |
mget 远程文件* |
Mehrere Dateien herunterladen |
Praktische Beispiele
Beispiel 1: Dateien auf den Server hochladen
Beispiel
sftp user@example.com
sftp> cd /var/www/html
sftp> put index.html
sftp> exit
sftp> cd /var/www/html
sftp> put index.html
sftp> exit
Beispiel 2: Ein ganzes Verzeichnis herunterladen (rekursiv)
Beispiel
sftp -r user@example.com:/backups /local/backups
Beispiel 3: Eine Batchdatei verwenden
Erstellesftp_commands.txt:
put file1.txt put file2.txt get report.pdf exit
Batch ausführen:
Beispiel
sftp -b sftp_commands.txt user@example.com
Erweiterte Tipps
1. Wildcards verwenden, um mehrere Dateien zu übertragen
Beispiel
sftp> mput *.jpg # Alle jpg-Dateien hochladen
sftp> mget log_*.txt # Alle txt-Dateien herunterladen, die mit log_ beginnen
sftp> mget log_*.txt # Alle txt-Dateien herunterladen, die mit log_ beginnen
2. Dateiberechtigungen ändern
Beispiel
sftp> chmod 644 index.html
3. Dateiinformationen anzeigen
Beispiel
sftp> ls -l
4. Symbolische Links verwenden
Beispiel
sftp> symlink /Pfad/zum/Original /Pfad/zum/Link
Lösungen für häufige Probleme
1. Verbindung abgelehnt
- Prüfen, ob der Server den SSH-Dienst ausführt
- Bestätigen, ob der Port korrekt ist
- Firewall-Einstellungen prüfen
2. Authentifizierungsfehler
- Bestätigen, dass Benutzername und Passwort korrekt sind
- Berechtigungen der Schlüsseldatei prüfen (sollte 600 sein)
- Stellen Sie sicher, dass Ihr öffentlicher Schlüssel auf dem Server liegt
3. Dateiübertragung unterbrochen
- Netzwerkverbindung prüfen
- Versuchen Sie,
regetundreputBefehl zum Fortsetzen der Übertragung
4. Unzureichende Berechtigungen
- Überprüfen Sie die Schreibberechtigung des Remote-Verzeichnisses
- Möglicherweise müssen Sie verwenden
sudo(Aber sftp unterstützt normalerweise kein direktes sudo)
Bewährte Sicherheitspraktiken
- Verwenden Sie die Schlüsselauthentifizierunganstelle der Passwortauthentifizierung
- Begrenzen Sie die Benutzerberechtigungen, verwenden Sie eine chroot-Umgebung
- Aktualisieren Sie regelmäßigSSH-Server-Software
- Deaktivieren Sie die Root-Anmeldung, verwenden Sie einen normalen Benutzer + sudo
- Protokolldateien überwachen(/var/log/auth.log)
Zusammenfassung
SFTP ist ein wichtiges Werkzeug für die sichere Übertragung von Dateien in Linux-Systemen. In dieser Anleitung sollten Sie Folgendes beherrschen:
- Grundlegende Konzepte und Verbindungsmethoden von SFTP
- Gängige Befehle für Dateioperationen und Übertragungen
- Praktische Stapelverarbeitung und fortgeschrittene Tipps
- Lösungen für häufige Probleme
- Best Practices für die sichere Nutzung
Jetzt können Sie Dateien sicher und effizient zwischen Ihrem lokalen Rechner und einem Remote-Server übertragen!
Weitere Erweiterungen