GNU/Linux >> Linux Esercitazione >  >> Linux

Come lavorare con il client SFTP in Linux – 10 comandi sftp

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

  1. Connessione al server SFTP
  2. Verifica versione sftp
  3. Mostra directory di lavoro remota
  4. Mostra la directory di lavoro della macchina locale
  5. Carica i file sul server sftp
  6. Download di file dal server sftp
  7. Creazione ed eliminazione di directory nel server sftp
  8. Rimozione dei file nel server sftp
  9. Rinominare i file nel server sftp
  10. Controllo dell'utilizzo dei file nel server sftp
  11. 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 data2data3 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 mkdirrmdir 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 byeexitquit :

sftp> exit
$

Conclusione

In questa guida siamo riusciti a esplorare le operazioni di base che possono essere eseguite su un server SFTP


Linux
  1. Come configurare un server SFTP su Arch Linux

  2. Come lavorare con utenti e gruppi in Linux

  3. Come eseguire SCP dal server Linux al client Windows

  4. Metti il ​​file con il client tftp in Linux

  5. Come registro il server Linux con il server DNS di Windows

Come gestire in remoto un server Linux con SSH

Come lavorare con il processo in primo piano e in background in Linux

Come lavorare con hardlink e softlink in Linux

Linux:come funziona il display di Linux?

Procedura:Comandi SFTP – Trasferisci file in modo sicuro su un server remoto

Come controllare i parametri del server VPS con il comando Linux