Ich habe über einen privaten Schlüssel eine Verbindung zur Amazon-Instanz von ssh von ssh hergestellt. Ich versuche, den gesamten Ordner von dieser Instanz auf meinen lokalen Linux-Computer zu kopieren.
Kann mir jemand den richtigen scp
-Befehl mitteilen, um dies zu tun?
Oder brauche ich etwas mehr als scp
? Beide Maschinen sind Ubuntu 10.04 LTS
Rufen Sie scp
vom Client-Rechner mit rekursiver Option auf:
scp -r [email protected]:src_directory dst_directory
ein anderer Weg ist es
scp -i "Schlüsseldatei hier einfügen" -r "ec2-Instanz hier einfügen" "Ihr lokales Verzeichnis"
Ein Fehler, den ich gemacht habe, war scp -ir. Der Schlüssel muss nach -i und danach -r sein.
so
scp -i Amazon.pem -r ec2-user @ ec2 - ## - ## - ##:/source/dir/destination/dir
scp -i {key path} -r [email protected]:{remote path} {local path}
Sie könnten sogar rsync verwenden.
rsync -aPSHiv remote:directory .
Ich verwende sshfs und mounte das Remote-Verzeichnis auf dem lokalen Rechner und mache, was Sie wollen. Hier ist eine kleine Anleitung, Befehle können sich auf Ihrem System ändern
Für EC2 Ubuntu
wechseln Sie in Ihr PEM-Dateiverzeichnis
scp -i "yourkey.pem" -r [email protected]_name:/home/ubuntu/foldername ~/Desktop/localfolder
So kopierte ich eine Datei vom Amazon ec2-Dienst auf den lokalen Fenster-PC:
pscp -i "your-key-pair.pem" [email protected]:/home/username/file.txt C:\Documents\
Für Linux, um ein Verzeichnis zu kopieren:
scp -i "your-key-pair.pem" -r [email protected]:/home/username/dirtocopy /var/www/
Für die Verbindung zu Amazon ist eine Schlüsselpaarauthentifizierung erforderlich.
Hinweis:
Der Benutzername ist höchstwahrscheinlich ubuntu.
Ich mag es nicht, scp für eine große Anzahl von Dateien zu verwenden, da für jede Datei eine 'Transaktion' ausgeführt wird. Folgendes ist viel besser:
cd local_dir; ssh [email protected] 'cd remote_dir_parent; tar -c remote_dir' | tar -x
Sie können ein Flag z
zu tar hinzufügen, das auf dem Server komprimiert und auf dem Client dekomprimiert wird.