Hoe kopieer ik een map van een externe naar een lokale host met scp
?
Ik gebruik ssh
om in te loggen op mijn server.
Vervolgens wil ik de externe map foo
kopië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:
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 xxxx
het 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:
-r
Kopieer recursief alle mappen en bestanden- Gebruik altijd de volledige locatie van
/
, verkrijg de volledige locatie viapwd
scp
vervangt alle bestaande bestandenhostname
wordt hostnaam of IP-adres- als een aangepaste poort nodig is (naast poort 22), gebruik dan
-P portnumber
- . (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.311
of 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
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
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 sftp
typt u gewoon help
of ?
.
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/