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