it-swarm.it

Come copiare una cartella da remoto a locale usando scp?

Come copiare una cartella da remoto a host locale usando scp?

Io uso ssh per accedere al mio server.
Quindi, vorrei copiare la cartella remota foo in locale /home/user/Desktop.

Come ottenere questo?

2362
Slasengger
scp -r [email protected]:/path/to/foo /home/user/Desktop/

Da man scp (Vedi Manuale online )

-r Copia ricorsivamente intere directory

4338
Gryphius

Per utilizzare la piena potenza di scp è necessario passare ai seguenti passaggi:

  1. Autorizzazione chiave pubblica
  2. Crea alias ssh

Quindi, ad esempio se hai questo ~/.ssh/config :

Host test
    User testuser
    HostName test-site.com
    Port 22022

Host prod
    User produser
    HostName production-site.com
    Port 22022

ti risparmierai dalla password e semplifichi scp sintassi come questo:

scp -r prod:/path/foo /home/user/Desktop   # copy to local
scp -r prod:/path/foo test:/tmp            # copy from remote prod to remote test

Inoltre, sarai in grado di utilizzare il completamento del percorso remoto:

scp test:/var/log/  # press tab twice
Display all 151 possibilities? (y or n)

Aggiornamento:

Per abilitare il bash-completion remoto è necessario avere bash-Shell su entrambi gli host <source> e <target>, e funzionare correttamente bash-completion. Per maggiori informazioni vedi domande correlate:

Come abilitare il completamento automatico per i percorsi remoti quando si usa scp?
Completamento della scheda nome file SCP

276

Per copiare tutto da Posizione locale a Posizione remota (Carica)

scp -r /path/from/destination [email protected]:/path/to/destination

Per copiare tutto da Posizione remota a Posizione locale (Download)

scp -r [email protected]:/path/from/destination /path/to/destination

Porta personalizzata dove xxxx è porta personalizzata numero

 scp -r -P xxxx [email protected]:/path/from/destination /path/to/destination

Copia sulla directory corrente da Remoto a Locale

scp -r [email protected]:/path/from/file .

Aiuto:

  1. -r Copia ricorsivamente tutte le directory e i file
  2. Utilizza sempre la posizione completa da /, ottieni la posizione completa pwd
  3. scp sostituirà tutti i file esistenti
  4. hostname sarà il nome host o l'indirizzo IP
  5. se è necessaria una porta personalizzata (oltre alla porta 22) usa -P portnumber
  6. . (punto) - significa directory di lavoro corrente, quindi scarica/copia dal server e incolla qui solo.

Nota: A volte la porta personalizzata non funzionerà a causa del fatto che la porta non è consentita nel firewall, quindi assicurati che la porta personalizzata sia abilitata nel firewall per la connessione in entrata e in uscita

175
Shiv Singh

Quello che uso sempre è:

scp -r [email protected]:/path/to/server/source/folder/  .

. (punto) : significa current folder. quindi copia da server e incolla qui solo.

IP: può essere un indirizzo IP come 125.55.41.311 o può essere Host come ns1.mysite.com.

46

È meglio comprimere prima il catalogo sul server remoto:

tar czfP backup.tar.gz /path/to/catalog

In secondo luogo, scaricare da remoto:

scp [email protected]r.server.example.com:/path/to/backup.tar.gz .

Alla fine, estrai i file:

tar -xzvf backup.tar.gz
28
justi

E se hai un file dannoso da scaricare dalla postazione remota e se non ti interessa la sicurezza, prova a cambiare la crittografia predefinita scp (Triple-DES) con qualcosa come "blowfish".

Ciò ridurrà drasticamente il tempo di copia dei file.

scp -c blowfish -r [email protected]:/path/to/foo /home/user/Desktop/
21
dimuthu

Vai a File sulla barra degli strumenti di unità

 enter image description here

Premi Ctrl + l e scrivi [email protected]

192.168.1.103 è l'host che si desidera connettere.

Ecco un esempio

 enter image description here

19
Ronald

Scenario tipico,

scp -r -P port [email protected]:/path-to-folder  .

spiegato con un campione,

scp -r -P 27000 [email protected]:/tmp/hotel_dump .

dove,

port = 27000
username = "abc" , remote server username
path-to-folder = tmp/hotel_dump
. = current local directory
17
Arun G

Nel caso in cui si esegua "Troppi tentativi di autenticazione" , specificare la chiave SSH esatta che è stata aggiunta al server severs ssh:

scp -r -i /path/to/local/key [email protected]:/path/to/folder /your/local/target/dir
11
kaiser

La domanda era come copiare una cartella da remoto a locale con il comando scp.

$ scp -r [email protected]:/path/remoteDir /path/localDir

Ma ecco il modo migliore per farlo con sftp - SSH File Transfer Protocol (anche Secure File Transfer Protocol, o SFTP) è un protocollo di rete che fornisce accesso ai file, trasferimento di file e gestione dei file su qualsiasi flusso di dati affidabile. (Wikipedia) .

$ sftp [email protected]_ip

sftp> cd /path/to/remoteDir

sftp> get -r remoteDir

Fetching /path/to/remoteDir to localDir 100% 398 0.4KB/s 00:00

Per informazioni sul comando sftp, digitare solo help o ?.

10
Fulvio

Non so perché, ma ho dovuto usare la cartella locale prima della direttiva del server di origine. per farlo funzionare

scp -r . [email protected]:/usr/share/nginx/www/example.org/
5
Salem