Kuinka kopioida kansio etäyhteydestä paikalliseen käyttämällä scp:tä?

Kuinka kopioida kansio etäyhteydeltä paikalliseen isäntäkoneeseen käyttämällä scp?

Käytän ssh:tä kirjautuakseni palvelimelle.
Sitten haluaisin kopioida etäkansion foo paikalliseen /home/user/Desktop.

Miten tämä onnistuu?

Ratkaisu
scp -r user@your.server.example.com:/path/to/foo /home/user/Desktop/

man scp:stä (Katso online-käsikirja).

-r Kopioi rekursiivisesti kokonaisia hakemistoja.

Kommentit (11)

Jotta voit käyttää scp:n täyttä tehoa, sinun on käytävä läpi seuraavat vaiheet:

  1. Julkisen avaimen valtuutus
  2. Luo ssh-peitenimet.

Sitten, jos sinulla on esimerkiksi tämä ~/.ssh/config:

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

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

säästyt salasanan syöttämiseltä ja yksinkertaistat scp-syntaksia näin:

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

Lisäksi voit käyttää etäpolun täydennystä:

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

Päivitys:

Etäbash-täydennyksen käyttöönotto edellyttää, että sinulla on bash-shell sekä - että-isännillä ja että bash-täydennys toimii kunnolla. Lisätietoja on aiheeseen liittyvissä kysymyksissä:

(https://unix.stackexchange.com/questions/33336/how-to-enable-autocompletion-for-remote-paths-when-using-scp)
SCP:n tiedostonimen välilehden täydennys

Kommentit (10)

Parempi pakata luettelo ensin etäpalvelimella:

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

Toiseksi lataa etäpalvelimelta:

scp user@your.server.example.com:/path/to/backup.tar.gz .

Pura lopuksi tiedostot:

tar -xzvf backup.tar.gz
Kommentit (2)