Hoe kopieer ik een map van extern naar lokaal met scp?

Hoe kopieer ik een map van een externe naar een lokale host met scp?

Ik gebruik sshom in te loggen op mijn server.
Vervolgens wil ik de externe map fookopiëren naar lokale /home/user/Desktop.

Hoe bereik ik dit?


Antwoord 1, autoriteit 100%

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

Door de afsluitende ‘/’ aan het einde van foo niet op te nemen, kopieert u de map zelf (inclusief inhoud), in plaats van alleen de inhoud van de map.

Van man scp(Zie online handleiding )

-r Recursief hele mappen kopiëren


Antwoord 2, autoriteit 6%

Om de volledige kracht van scpte gebruiken, moet je de volgende stappen doorlopen:

  1. Autorisatie met openbare sleutel
  2. Ssh-aliassen maken

Als je bijvoorbeeld dit ~/.ssh/confighebt:

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

u bespaart uzelf het invoeren van wachtwoorden en vereenvoudigt de scp-syntaxis als volgt:

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

Bovendien kunt u padaanvulling op afstand gebruiken:

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

Bijwerken:

Voor het inschakelen van bash-completie op afstand moet je bash-shell hebben op zowel <source>als <target>hosts, en goed werkende bash-completion. Zie gerelateerde vragen voor meer informatie:

Automatisch aanvullen inschakelen voor externe paden bij gebruik van scp?
Voltooiing van tabblad SCP-bestandsnaam


Antwoord 3, autoriteit 5%

Alles kopiëren van Lokale locatienaar Externe locatie(Uploaden)

scp -r /path/from/local username@hostname:/path/to/remote

Alles kopiëren van Externe locatienaar Lokale locatie(Download)

scp -r username@hostname:/path/from/remote /path/to/local

Aangepaste poort waarbij xxxxhet aangepaste poort-nummer is

scp -r -P xxxx username@hostname:/path/from/remote /path/to/local

Kopieer naar huidige map van Remote naar Local

scp -r username@hostname:/path/from/remote .

Help:

  1. -rKopieer recursief alle mappen en bestanden
  2. Gebruik altijd de volledige locatie van /, verkrijg de volledige locatie via pwd
  3. scpvervangt alle bestaande bestanden
  4. hostnamewordt hostnaam of IP-adres
  5. als een aangepaste poort nodig is (naast poort 22), gebruik dan -P portnumber
  6. . (punt)– het betekent huidige werkmap, dus download/kopieer van de server en plak hier alleen.

Opmerking:Soms werkt de aangepaste poort niet omdat de poort niet is toegestaan in de firewall, dus zorg ervoor dat de aangepaste poort is toegestaan in de firewall voor inkomende en uitgaande verbindingen


Antwoord 4

Wat ik altijd gebruik is:

scp -r username@IP:/path/to/server/source/folder/  .

. (punt): het betekent current folder. dus kopieer van de server en plak hier alleen.

IP: kan een IP-adres zijn zoals 125.55.41.311of het kan een host zijn zoals ns1.mysite.com.


Antwoord 5

Beter om de catalogus eerst op een externe server te comprimeren:

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

Ten tweede, downloaden van op afstand:

scp [email protected]:/path/to/backup.tar.gz .

Pas aan het einde de bestanden uit:

tar -xzvf backup.tar.gz

Antwoord 6

En als je geweldige bestanden moet downloaden vanaf de externe locatie en als je niet veel om beveiliging geeft, probeer dan de scp-standaardcodering (Triple-DES) te wijzigen in zoiets als ‘blowfish’.

>

Dit zal de kopieertijd van bestanden drastisch verminderen.

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

Antwoord 7

Typisch scenario,

scp -r -P port username@ip:/path-to-folder  .

uitgelegd met een voorbeeld,

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

waar,

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

Antwoord 8

Ga naar Bestanden op uw unity-werkbalk

enter afbeelding beschrijving hier

Druk op Ctrl + l en schrijf [email protected]

De 192.168.1.103 is de host waarmee u verbinding wilt maken.

Het hier ene voorbeeld

enter afbeelding beschrijving hier


Antwoord 9

De vraag was hoe je een map van extern naar lokaal kopieert met de opdracht scp.

$ scp -r userRemote@remoteIp:/path/remoteDir /path/localDir

Maar hier is de betere manier om het te doen met sftp– SSH File Transfer Protocol (ook wel Secure File Transfer Protocol of SFTP) is een netwerkprotocol dat bestandstoegang, bestandsoverdracht en beheer over elke betrouwbare gegevensstroom.(wikipedia).

$ sftp user_remote@remote_ip

sftp> cd /path/to/remoteDir

sftp> get -r remoteDir

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

Voor hulp over de opdracht sftptypt u gewoon helpof ?.


Antwoord 10

In het geval dat je “Te veel verificatiefouten”tegenkomt, specificeer dan de exacte SSH-sleutel die je hebt toegevoegd aan je servers ssh-server:

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

Antwoord 11

Ik weet niet waarom, maar ik moest de lokale map gebruiken vóór de bronserverrichtlijn . om het te laten werken

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

Other episodes