Il File Transfer Protocol è un protocollo di comunicazione standard utilizzato per il trasferimento di file di computer da un server a un client su una rete di computer.
FTP non è popolare oggi perché manca di sicurezza. Quando un file viene inviato utilizzando questo protocollo, i dati, il nome utente e la password sono tutti condivisi in testo normale, il che significa che un hacker può accedere a queste informazioni con uno sforzo minimo o nullo. Affinché i dati siano protetti, devi utilizzare una versione aggiornata di FTP come SFTP.
SFTP Secure File Transfer Protocol è un protocollo di trasferimento file che fornisce un accesso sicuro a un computer remoto per fornire comunicazioni sicure. Sfrutta SSH - Secure Socket Shell ed è spesso indicato anche come "Secure Shell File Transfer Protocol".
Contenuti correlati
- Come configurare un server SFTP su Debian 11 Server
- Scarica file dal server SFTP utilizzando uno script python
- Elenca, carica e scarica file da un server SFTP utilizzando golang
- Come configurare un server SFTP su OpenSUSE Leap 15.3 Server
- Come installare e configurare il server sftp in Ubuntu 20.04
- Come configurare un server SFTP su CentOS 8 /RHEL 8 Server
Prerequisiti
Per seguire, assicurati di avere quanto segue:
- Un server SFTP a cui connettersi. Se vuoi configurare il server controlla le guide qui sopra
- Credenziali per la connessione al server
Indice dei contenuti
- Connessione al server SFTP
- Verifica versione sftp
- Mostra directory di lavoro remota
- Mostra la directory di lavoro della macchina locale
- Carica i file sul server sftp
- Download di file dal server sftp
- Creazione ed eliminazione di directory nel server sftp
- Rimozione dei file nel server sftp
- Rinominare i file nel server sftp
- Controllo dell'utilizzo dei file nel server sftp
- Richiedere aiuto
1. Connessione al server SFTP
Puoi utilizzare il terminale della riga di comando per testare il tuo accesso all'SFTP. Questo può essere fatto anche localmente nel server sftp.
Questo è il formato del comando di accesso:
sftp [user]@[host]
Connettiamoci al nostro server. saranno necessari il tuo nome utente e password SFTP.
sftp [email protected]
Uscita:
$ sftp [email protected]
The authenticity of host '192.168.10.10 (192.168.10.10)' can't be established.
ECDSA key fingerprint is SHA256:99KvuL95zO2CQbC8X0Re/Q+cYrJgqQgzpf1leemnjmY.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.10.10' (ECDSA) to the list of known hosts.
[email protected]'s password:
Connected to 192.168.10.10.
sftp>
Questo ti registrerà nel server. La directory predefinita è /home
dir specificata in ChrootDirectory /home
direttiva nelle configurazioni del server ssh.
2. Verifica della versione SFTP
Usa il comando version per controllare la versione sftp.
sftp> version
SFTP protocol version 3
sftp>
3. Mostra directory di lavoro remota
Se devi controllare la directory di lavoro corrente sul server remoto, il pwd
il comando è utile:
sftp> pwd
Remote working directory: /sftpuser1
sftp>
4. Mostra la directory di lavoro della macchina locale
Per mostrare l'attuale directory di lavoro del sistema locale, usa lpwd
comando.
sftp> lpwd
Local working directory: /home/ubuntu
sftp>
L'utente creato avrà accesso solo alla sua directory. Passiamo a quella directory con il seguente comando:
sftp> cd sftpuser1
sftp>
Passa alla directory home dell'utente SFTP e prova a creare una nuova directory come segue:
sftp> ls
sftpuser1 ubuntu
sftp> cd sftpuser1
sftp> ls
sftp> mkdir datadir
sftp> ls
datadir
5. Carica i file sul server sftp
Fallo da locale
Carica i file su un server remoto usando questa sintassi dei comandi:
$ sftp {user}@{host}:{remote-path} <<< $'put {local-path}'
Esempio:
$ sftp [email protected]:/sftpuser1/ <<< $'put ./citizix.txt'
[email protected]'s password:
Connected to 127.0.0.1.
Changing to: /sftpuser1/
sftp> put ./citizix.txt
Uploading ./citizix.txt to /sftpuser1/citizix.txt
./citizix.txt
Fallo dal server sftp
Usa questi comandi: ls
per elencare i file, lls
per l'elenco locale, put
per caricare i file:
sftp>
sftp> pwd
Remote working directory: /sftpuser1/datadir
sftp> ls
sftp> lls
citizix.txt snap tmp
sftp> put citizix.txt
Uploading citizix.txt to /sftpuser1/datadir/citizix.txt
citizix.txt 100% 32 25.8KB/s 00:00
sftp> ls
citizix.txt
sftp>
Per caricare più file in una volta sola, possiamo utilizzare mput
comando come nell'esempio seguente. Puoi utilizzare mput
con un'espressione regolare come data[23]
per caricare data2
, data3
e ignora data1
. Puoi utilizzare qualsiasi carattere jolly o espressione regolare con mput
.
sftp>
sftp> pwd
Remote working directory: /sftpuser1/data
sftp> ls
sftp> lls
data1 data2 data3
sftp> mput data[23]
Uploading data2 to /sftpuser1/data/data2
data2 100% 0 0.0KB/s 00:00
Uploading data3 to /sftpuser1/data/data3
data3 100% 0 0.0KB/s 00:00
sftp> ls
data2 data3
6. Download di file dal server sftp
Fallo dalla macchina locale
Per scaricare un file da un server remoto, usa la seguente sintassi dei comandi:
$ sftp {user}@{remote-host}:{remote-file-name} {local-file-name}
Ecco una demo del download di un file in una riga utilizzando sftp:
# sftp [email protected]:/sftpuser1/citizix.txt .
[email protected]'s password:
Connected to 127.0.0.1.
Fetching /sftpuser1/citizix.txt to ./citizix.txt
/sftpuser1/citizix.txt 100% 32 26.7KB/s 00:00
Fallo dal server sftp remoto
Scarica un singolo file dal server utilizzando get
. Esempio di download di data2
sftp>
sftp> ls
data2 data3
sftp> lls
sftp> get data2
Fetching /sftpuser1/data/data2 to data2
sftp> lls
data2
sftp>
Usa mget
per scaricare più file come in questo esempio
sftp>
sftp> ls
data2 data3
sftp> lls
sftp> mget data*
Fetching /sftpuser1/data/data2 to data2
Fetching /sftpuser1/data/data3 to data3
sftp> lls
data2 data3
sftp>
7. Creazione ed eliminazione di directory nel server sftp
Usa i comandi mkdir
e rmdir
per creare ed eliminare directory
sftp>
sftp> ls
sftp> mkdir data
sftp> ls
data
sftp> rmdir data
sftp>
8. Rimozione di file nel server sftp
Usa il comando rm
per eliminare i file
sftp> rm data*
Removing /sftpuser1/data/data2
Removing /sftpuser1/data/data3
sftp>
9. Rinominare i file nel server sftp
Usa il rename
comando per rinominare i file
sftp>
sftp> ls
data3
sftp> rename data3 data_original
sftp> ls
data_original
sftp>
10. Verifica dell'utilizzo del filesystem nel server sftp
Visualizza le statistiche per la directory o il filesystem corrente contenente 'percorso', usa il comando df. Possiamo usare -h flag per mostrare le statistiche in un formato leggibile dall'uomo. Tieni presente che le statistiche mostrate si riferiscono al rispettivo filesystem del server SFTP remoto e non al filesystem della macchina locale.
sftp> df
Size Used Avail (root) %Capacity
29540600 5917856 22103188 23622744 20%
sftp> df -h
Size Used Avail (root) %Capacity
28.2GB 5.6GB 21.1GB 22.5GB 20%
11. Ottenere aiuto
Per ottenere aiuto sui comandi disponibili e sulla sintassi per SFTP, usa '?' o 'help'.
sftp> ?
Uscita:
sftp> ?
Available commands:
bye Quit sftp
cd path Change remote directory to 'path'
chgrp [-h] grp path Change group of file 'path' to 'grp'
chmod [-h] mode path Change permissions of file 'path' to 'mode'
chown [-h] 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 [-afpR] remote [local] 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 [-afpR] local [remote] Upload file
pwd Display remote working directory
quit Quit sftp
reget [-fpR] remote [local] Resume download file
rename oldpath newpath Rename remote file
reput [-fpR] local [remote] Resume upload 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
Fare riferimento alla pagina man di sftp per ulteriori letture.
$ man sftp
Esci dalla sessione SFTP
Infine, puoi uscire da sftp utilizzando il bye
, exit
o quit
:
sftp> exit
$
Conclusione
In questa guida siamo riusciti a esplorare le operazioni di base che possono essere eseguite su un server SFTP