Il comando sftp è un'alternativa sicura a ftp ed è funzionalmente uguale a ftp. Usa sftp invece di ftp quando accedi a un server che esegue il demone OpenSSH, sshd. La principale differenza tra sftp e ftp è che il primo utilizza la crittografia per trasferire la password sulla rete mentre il secondo no.
Sintassi sftp
Il formato per connettersi a un sistema remoto è:
# sftp [options] [user@]host
Inserisci aiuto o ? per visualizzare un elenco di comandi sftp.
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> Collegamento del sistema remoto tramite sftp
L'esempio seguente presuppone che tu sia connesso al tuo sistema locale come utente testuser e ti stia connettendo a un sistema remoto 192.168.219.149:
$ sftp testuser@192.168.219.149 Connecting to 192.168.219.149... testuser@192.168.219.149 password: Connected to 192.168.219.149. sftp>
Dopo aver fornito la password corretta, ti viene presentato un sftp> prompt come mostrato. Inserisci aiuto o ? per visualizzare un elenco di comandi disponibili.
Navigazione nelle directory ed elenco dei file
1. Per trovare la directory corrente sul server locale:
sftp> lpwd Local working directory: /root
2. Per trovare la directory di lavoro corrente sull'host remoto:
sftp> pwd Remote working directory: /root
3. Allo stesso modo, per cambiare la directory sul server locale usa il comando lcd :
sftp> lcd /tmp
4. Per cambiare la directory sul server remoto usa il comando cd:
sftp> cd /tmp
5. Per elencare i file nella directory corrente sul server remoto:
sftp> ls anaconda-ks.cfg initial-setup-ks.cfg test
6. Per elencare i file nella directory corrente sul server locale:
sftp> lls file1 file2 file3
Creazione e rimozione di directory
1. Per creare una nuova directory sul server remoto:
sftp> mkdir data
2. Per creare una nuova directory sul server locale:
sftp> lmkdir testdir
Carica file e directory usando sftp
1. L'esempio seguente carica un file o copia il file dal sistema locale al sistema remoto:
sftp> put file1
2. Per trasferire più di un file su un host remoto, usa mput comando (più put).
sftp> mput file1 file2 file3
3. Per poter trasferire la directory sull'host remoto, devi prima creare una directory sull'host remoto e avviare il trasferimento.
sftp> mkdir /dir sftp> put -r dir/
Scarica file o directory utilizzando sftp
1. Per scaricare un singolo file dall'host remoto, utilizzare get comando.
sftp> get file1
2. Per scaricare più file usa il comando seguente.
sftp> mget file1 file2 file3
3. Per scaricare una directory in modo ricorsivo (con tutto il suo contenuto):
get -r dir
Esci o esci da sftp
Inserisci esci , chiudi o ciao per chiudere la connessione ed uscire da sftp.
sftp> bye
o
sftp> quit
o
sftp> exit