Je me suis connecté à l'instance linux d'Amazon à partir de ssh à l'aide d'une clé privée. J'essaye de copier le dossier entier de cette instance sur ma machine Linux locale.
Quelqu'un peut-il me dire la bonne commande scp
pour le faire?
Ou ai-je besoin de plus que scp
? Les deux machines sont sous Ubuntu 10.04 LTS
Appelez scp
à partir de l'ordinateur client avec l'option récursive:
scp -r user@remote:src_directory dst_directory
une autre façon de le faire est
scp -i "insère le fichier clé ici" -r "insère l'instance ec2 ici" "votre répertoire local"
Une erreur que j'ai faite était scp -ir. La clé doit être après le -i, et le -r après.
alors
scp -i Amazon.pem -r ec2-utilisateur @ ec2 - ## - ## - ##:/source/rép/destination/rép
scp -i {key path} -r [email protected]:{remote path} {local path}
Vous pouvez même utiliser rsync.
rsync -aPSHiv remote:directory .
J'utilise sshfs et monte le répertoire distant sur la machine locale et fais ce que vous voulez. Ici est un petit guide, les commandes peuvent changer sur votre système
Voici comment j'ai copié le fichier du service Amazon ec2 vers le PC de la fenêtre locale:
pscp -i "your-key-pair.pem" [email protected]:/home/username/file.txt C:\Documents\
Pour que Linux puisse copier un répertoire:
scp -i "your-key-pair.pem" -r [email protected]:/home/username/dirtocopy /var/www/
Pour se connecter à Amazon, une authentification par paire de clés est nécessaire.
Remarque:
Le nom d'utilisateur est probablement Ubuntu.
Je n'aime pas utiliser scp pour un grand nombre de fichiers, car il s'agit d'une "transaction" pour chaque fichier. Ce qui suit est bien meilleur:
cd local_dir; ssh user@server 'cd remote_dir_parent; tar -c remote_dir' | tar -x
Vous pouvez ajouter un indicateur z
à tar pour compresser sur le serveur et décompresser sur le client.