Come utilizzare il comando SCP per trasferire i file

Come utilizzare il comando SCP per trasferire i file

Questo tutorial spiega come usare il SCP (Copia sicura) Comando per trasferire file tra i computer.

IL SCP Il comando è disponibile su tutti i sistemi Linux, Unix e Windows. La sua implementazione con ogni probabilità migliorerà e faciliterà l'esperienza di networking.

La sicurezza è fornita dal ssh protocollo.

Questo comando ci consente di trasferire i file in modo affidabile e sicuro da un computer a un altro. Insieme al Sftp Comando, anche protetto dal protocollo SSH, SCP è una delle tecniche di transfert file più sicure.

Dopo aver letto questo articolo, il lettore sarà in grado di condividere e recuperare facilmente i file con comandi singoli.

Tutti gli esempi pratici in questo tutorial contengono schermate, rendendo facile per ogni utente Linux capire come vengono applicati i comandi.

Requisiti prima di utilizzare SCP

L'utente scaricherà i file da o caricano file per, deve avere il servizio SSH in esecuzione.

Se il servizio è già in esecuzione sul server, puoi passare alla sezione successiva di questo articolo.

Se il servizio non è in esecuzione, l'utente può installarlo seguendo le istruzioni di seguito per le distribuzioni Linux basate su Debian e Redhat.

Su sistemi basati su Debian come Ubuntu, il servizio SSH può essere installato con il Apt Packages Manager come mostrato nell'immagine seguente.

SUDO APT Installa ssh

Su sistemi basati su Redhat come CentOS, il servizio SSH può essere installato eseguendo il seguente comando:

DNF Installa OpenSsh-Server

Quando l'installazione termina, sul server a cui si desidera connettersi, avviare il servizio con il SystemCtl Comando come mostrato di seguito (sistemi basati su Debian).

sudo systemctl avvia ssh

Per iniziare il ssh Servizio sui sistemi Redhat Esegui:

sudo systemctl avvia sshd

Come scaricare file e directory con SCP (Copia sicura)

Nel primo esempio pratico di questo tutorial, un utente scarica un file chiamato <File1> alla sua home directory.

È importante ricordare il download o il caricamento di file richiede credenziali di un utente esistente nel computer remoto.

La sintassi per scaricare un file con SCP è il seguente, dove <Utente remoto> è un utente esistente sul computer remoto da cui l'utente desidera scaricare file. <IP del server> è l'indirizzo host o IP del server che memorizza il file, <Percorso/a/file> è il percorso del file da scaricare e <Direttore localeY> è la directory locale del computer dell'utente in cui il file viene salvato.

SCP @:

Nell'esempio seguente, l'utente locale Linux-Hint3 accedi come il Linuxhint utente remoto nel server con indirizzo IP 192.168.0.103 e scarica un file denominato <File1> alla sua home directory. Un post ls L'esecuzione del comando mostra File1 è localmente presente.

SCP [email protected]: file1 ~/

Per impostazione predefinita, dopo l'accesso, la directory di lavoro corrente remota è la directory di home utente remota.

IL -O Il flag è utile per eseguire l'eredità SCP necessaria per trasferire file con sistemi che non hanno implementato il protocollo SFTP.

SCP -O [email protected]: file1 ~/

Nell'esempio seguente, l'utente scarica un file denominato newfile2, immagazzinato sotto il Desktop/ sottodirectory. La destinazione locale del file è la directory locale corrente rappresentata da un periodo.

SCP [email protected]: desktop/newfile2 .

Le directory di download richiedono solo l'aggiunta del -R Flag (ricorsivo) come mostrato nello screenshot seguente.

Nell'esempio seguente, l'utente scarica la directory remota denominata testdir/ alla sottodirectory locale denominata directory/.

SCP -r [email protected]: Testdir ~/directory

IL -l Il flag consente di limitare il transfert di download in kb/s per controllare la larghezza di banda.

Nella seguente screenshot, l'utente limita la larghezza di banda per il trasferimento a 100 kb/ps. Come puoi vedere, l'utente ha utilizzato un jolly (*) per scaricare tutti i file il cui nome inizia con “Ubuntu".

SCP -L 100 [email protected]: Ubuntu* ~/

Se l'utente desidera accelerare il transfert del file, può aggiungere il -C per comprimere i file o le directory durante il transfert, lasciando la Copia di destinazione non compressa (se l'origine era così).

Nell'esempio seguente, l'utente implementa il -C (Comprime) flag per scaricare tutti i file che iniziano da "Ubuntu"Al locale Desktop/ sottodirectory.

SCP -c [email protected]: Ubuntu*/home/linux-hint3/desktop/

IL -4 l'opzione forza la connessione tramite IPv4 e il -6 Opzione tramite IPv6.

Nella prossima screenshot, l'utente forza il transfert file tramite IPv4.

SCP -4 [email protected]: Ubuntu*/home/linux-hint3/desktop/

Come caricare file e directory con SCP

Questa sezione spiega come caricare file con comandi singoli usando SCP.

La sintassi per caricare file regolari su un sistema remoto utilizzando SFTP è il seguente:

SCP @:

Nell'esempio seguente l'utente carica un file denominato File1 alla sottodirectory remota denominata Documenti/.

SCP File1 [email protected]: documenti/

Per caricare le directory, usa il ricorsivo -R flag, il resto della sintassi è simile agli esempi sopra descritti.

Scp -r desktop/testdir [email protected]: documenti/

IL -O Il flag è utile per caricare file su sistemi senza il protocollo SFTP.

Scp -or desktop/testdir [email protected]: documenti/

Per accelerare il transfert, anche quando si carica i file, l'utente può comprimere.

Nell'esempio seguente, l'utente combina il ricorsivo -R bandiera con il -C (Flag comprime).

SCP -rc desktop/testdir [email protected]: documenti/

Disabilitazione SCP Autenticazione della password e autenticazione chiave

Inizialmente il protocollo SCP era basato sul protocollo SSH (Shell Shell), ma attualmente funziona attraverso protocolli più recenti come Sftp O rsync.

Il file di configurazione da modificare per abilitare l'autenticazione chiave e disabilitare l'accesso alla password è /etc/ssh/sshd_config. Questo file contiene opzioni aggiuntive per aumentare la sicurezza dei file di transfert SCP.

Sul computer, consentendo le connessioni in arrivo da dove vengono scaricati i file o dove vengono caricati, aprire il /etc/ssh/sshd_config File con privilegi utilizzando un editor di testo semplice come vim O nano.

sudo nano/etc/ssh/sshd_config

Scorri verso il basso e trova la linea contenente Pubkeyauthentication n, Sostituiscilo con Pubkeyautenticazione Sì (Sostituisci il "NO" con "").

Conferma anche Permistrootlogin n Per disabilitare l'accesso al root perché tutti nel mondo conoscono l'esistenza dell'utente radice, che può essere il bersaglio di qualsiasi tipo di attacco inclusa la forza bruta.

IL radice Il superuser esiste in tutti i sistemi basati su Unix tra cui Linux. Non è una buona decisione consentire l'accesso con un nome utente privilegiato conosciuto da tutti nel mondo.

Non disabilitare ancora l'accesso alla password perché il processo di copia chiave richiede l'accesso alla password prima che i sistemi siano in grado di autenticarsi con le chiavi.

Esci dal file di configurazione Salvando le modifiche e riavvia il servizio SSH seguendo le istruzioni di seguito.

Distribuzioni Linux basate su Debian:

sudo systemctl riavvio ssh

Distribuzioni Linux basate su Redhat:

sudo systemctl riavvio ssh

Sul lato client, il computer di download e caricamento dei file, l'utente deve generare la coppia di chiavi con il ssh-keygen comando.

Dopo aver eseguito il comando, premere ACCEDERE per lasciare la directory predefinita (~/.SSH/ID_RSA) o equivalente nella distribuzione Linux. Il processo consente di essere richiesto l'implementazione di una passphrase durante l'autenticazione. Includendo una passphrase, il livello di sicurezza è aumentato. Si consiglia di digitare uno e premere ACCEDERE. Se non vuoi aggiungere una passphrase basta premere ACCEDERE senza digitarlo.

ssh-keygen

Dopo aver creato correttamente la coppia di tasti, il client deve inviare la chiave al server utilizzando il SSH-Copy-ID comando con la sintassi del seguente esempio pratico.

ssh-copy-id [email protected]

Dopo aver copiato la chiave, testare il metodo di autenticazione collegandosi al secondo dispositivo.

Se l'autenticazione chiave ha successo, l'utente sarà in grado di accedere senza digitare la password. Se l'utente ha definito una passphrase durante la creazione della coppia di tasti, verrà richiesto al posto della password come mostrato nello screenshot seguente.

SFTP @@

Dopo aver confermato l'autenticazione della chiave pubblica funziona correttamente, si consiglia vivamente di disabilitare l'autenticazione della password.

Per disabilitare l'autenticazione della password, Sul lato del server, Apri il file /etc/ssh/sshd/config con i privilegi di nuovo utilizzando un editor di testo come nano O vi.

sudo nano/etc/ssh/sshd/config

Scorri verso il basso il file di configurazione e sostituire la riga PassWordAuthentication Sì con Passwordautenticazione n.

In alcuni casi, quando il numero di utenti è ridotto, la porta SCP/SSH può essere modificata per prevenire scansioni massicce. Questa modifica deve essere eseguita in questo file. Se l'utente modifica la porta predefinita, deve implementare l'opzione -P quando si trasferisce i file.

Esci salvando le modifiche.

Sui sistemi Linux basati su Debian, riavvia il servizio SSH con il seguente comando:

sudo systemctl riavvio ssh

Riavvia il servizio SSH sulle distribuzioni Linux basate su Redhat:

sudo systemctl riavvio sshd

Ora l'utente è in grado di accedere con l'autenticazione chiave.

Conclusione

L'uso del comando SCP è abbastanza semplice. Ogni utente Linux può impararlo migliorando la sua esperienza con le attività di networking. Allenta definitivamente l'interazione con altri computer all'interno di una rete dalla riga di comando. Tutte le istruzioni in questo tutorial sono valide per tutte le distribuzioni Linux ad eccezione dei metodi di installazione limitati alle distribuzioni Linux basate su Debian e Redhat. Ogni amministratore di rete che lavora dal terminale deve dominare questo comando.