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 [email protected] Connecting to 192.168.219.149... [email protected] 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