Der Befehl sftp ist eine sichere Alternative zu ftp und ist funktional identisch mit ftp. Verwenden Sie sftp anstelle von ftp, wenn Sie sich bei einem Server anmelden, auf dem der OpenSSH-Daemon sshd ausgeführt wird. Der Hauptunterschied zwischen sftp und ftp besteht darin, dass ersteres Verschlüsselung verwendet, um Passwörter über das Netzwerk zu übertragen, während letzteres dies nicht tut.
SFTP-Syntax
Das Format zum Verbinden mit einem Remote-System ist:
# sftp [options] [user@]host
Hilfe eingeben oder ? um eine Liste von sftp-Befehlen anzuzeigen.
sftp> help Available commands: bye Quit sftp cd path Change remote directory to 'path' chgrp grp path Change group of file 'path' to 'grp' chmod mode path Change permissions of file 'path' to 'mode' chown 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 [-Ppr] remote [local] Download file reget remote [local] Resume 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 [-Ppr] local [remote] Upload file pwd Display remote working directory quit Quit sftp rename oldpath newpath Rename remote 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 sftp>
Remote-System mit sftp verbinden
Das folgende Beispiel geht davon aus, dass Sie als Benutzer testuser an Ihrem lokalen System angemeldet sind und sich mit einem Remote-System 192.168.219.149 verbinden:
$ sftp [email protected] Connecting to 192.168.219.149... [email protected] password: Connected to 192.168.219.149. sftp>
Nachdem Sie das richtige Passwort eingegeben haben, wird Ihnen ein sftp> angezeigt Eingabeaufforderung wie abgebildet. Hilfe eingeben oder ? um eine Liste der verfügbaren Befehle anzuzeigen.
In Verzeichnissen navigieren und Dateien auflisten
1. So finden Sie das aktuelle Verzeichnis auf dem lokalen Server:
sftp> lpwd Local working directory: /root
2. So finden Sie das aktuelle Arbeitsverzeichnis auf dem Remote-Host:
sftp> pwd Remote working directory: /root
3. Um das Verzeichnis auf dem lokalen Server zu ändern, verwenden Sie den lcd-Befehl :
sftp> lcd /tmp
4. Um das Verzeichnis auf dem Remote-Server zu ändern, verwenden Sie den cd-Befehl:
sftp> cd /tmp
5. So listen Sie Dateien im aktuellen Verzeichnis auf dem Remote-Server auf:
sftp> ls anaconda-ks.cfg initial-setup-ks.cfg test
6. So listen Sie Dateien im aktuellen Verzeichnis auf dem lokalen Server auf:
sftp> lls file1 file2 file3
Erstellen und Entfernen von Verzeichnissen
1. So erstellen Sie ein neues Verzeichnis auf dem Remote-Server:
sftp> mkdir data
2. So erstellen Sie ein neues Verzeichnis auf dem lokalen Server:
sftp> lmkdir testdir
Laden Sie Dateien und Verzeichnisse mit sftp hoch
1. Das folgende Beispiel lädt eine Datei hoch oder kopiert die Datei vom lokalen System auf das Remote-System:
sftp> put file1
2. Um mehr als eine Datei auf einen Remote-Host zu übertragen, verwenden Sie mput (multiple put) Befehl.
sftp> mput file1 file2 file3
3. Um das Verzeichnis auf den Remote-Host übertragen zu können, müssen Sie zuerst ein Verzeichnis auf dem Remote-Host erstellen und dann die Übertragung starten.
sftp> mkdir /dir sftp> put -r dir/
Laden Sie Dateien oder Verzeichnisse mit sftp herunter
1. Um eine einzelne Datei vom Remote-Host herunterzuladen, verwenden Sie get Befehl.
sftp> get file1
2. Um mehrere Dateien herunterzuladen, verwenden Sie den folgenden Befehl.
sftp> mget file1 file2 file3
3. Um ein Verzeichnis rekursiv herunterzuladen (mit all seinen Inhalten):
get -r dir
Beenden oder beenden Sie sftp
Geben Sie exit ein , beenden , oder Tschüss um die Verbindung zu schließen und sftp zu beenden.
sftp> bye
oder
sftp> quit
oder
sftp> exit