284 votes

Utiliser scp pour copier un fichier vers une instance Amazon EC2?

Je tente d'utiliser mon terminal Mac pour scp un fichier à partir de Téléchargements (phpMyAdmin que j'ai téléchargé en ligne) vers mon instance Amazon EC2.

La commande que j'ai utilisée était :

scp -i myAmazonKey.pem phpMyAdmin-3.4.5-all-languages.tar.gz  hk22@mec2-50-17-16-67.compute-1.amazonaws.com:~/.

L'erreur que j'ai obtenue: Avertissement : Fichier d'identité myAmazonKey.pem non accessible : Aucun fichier ou dossier de ce type. Permission refusée (clé publique). Connexion perdue

Mon fichier myAmazonkey.pem et phpMyAdmin-3.4.5-all-languages.tar.gz se trouvent tous deux dans Téléchargements, j'ai donc essayé

scp -i /Users/Hello_Kitty22/Downloads/myAmazonKey.pem /Users/Hello_Kitty22/Downloads/phpMyAdmin-3.4.5-all-languages.tar.gz  hk22@mec2-50-17-16-67.compute-1.amazonaws.com:~/.

et l'erreur que j'ai obtenue: Avertissement : Fichier d'identité /User/Hello_Kitty22/Downloads/myAmazonkey.pem non accessible : Aucun fichier ou dossier de ce type. Permission refusée (clé publique). Connexion perdue

Quelqu'un pourrait-il me dire comment résoudre mon problème?

p.s. il y a un post similaire : scp (copie sécurisée) vers une instance ec2 sans mot de passe mais il ne répond pas à ma question.

0 votes

Je sens que lorsque je démarre mon instance Amazon en ligne, je ne peux plus accéder à mes fichiers locaux dans Téléchargements.

547voto

W.P. McNeill Points 1334

Essayez de spécifier l'utilisateur ec2-user, par exemple

scp -i myAmazonKey.pem phpMyAdmin-3.4.5-all-languages.tar.gz ec2-user@mec2-50-17-16-67.compute-1.amazonaws.com:~/.

Voir Connexion aux instances Linux/UNIX en utilisant SSH.

28 votes

Fonctionne parfaitement. Notez que votre utilisateur par défaut peut être "ubuntu" si vous exécutez une instance ubuntu.

0 votes

Bien sûr, copier vers / peut ne pas fonctionner. Merci pour l'éclaircissement!

0 votes

@DanielDropik Je ne sais pas si tu plaisantes ou non ... mais :/ essaierait de copier le dossier à la racine du système, ce qui provoquerait des erreurs de permission sur toutes les machines sans exécuter sudo (ou en tant que root).

65voto

ashpriom Points 154

Le deuxième répertoire est votre destination cible, n'utilisez pas de nom de serveur là-bas. En d'autres termes, vous n'avez pas besoin de mentionner le nom de la machine pour la machine dans laquelle vous vous trouvez actuellement.

scp -i /chemin/vers/votre/.pemkey -r /copie/de/chemin utilisateur@serveur:/copie/vers/chemin

-r s'il s'agit d'un répertoire.

1 votes

Merci beaucoup pour cela. C'était la seule solution qui a fonctionné pour moi.

0 votes

Scp -i "xyz.pem" -r file_xyz.zip user@server.region.compute.amazonaws.com:/path/

27voto

Sebastian Points 11

Votre clé ne doit pas être visible publiquement pour que SSH fonctionne. Utilisez cette commande si nécessaire :

chmod 400 votreFichierClefPublique.pem

0 votes

Tu as sauvé ma journée frère

18voto

dv suresh Points 383

Vous devez être sur votre machine locale pour essayer la commande scp ci-dessus.

Sur votre machine locale, essayez :

scp -i ~/Downloads/myAmazonKey.pem ~/Downloads/phpMyAdmin-3.4.5-all-languages.tar.gz  hk22@mec2-50-17-16-67.compute-1.amazonaws.com:~/.

0voto

Bryan Stenson Points 1

Vérifiez les autorisations sur le fichier .pem ... openssh n'a généralement pas de privilèges de lecture universels, et échouera (si mes souvenirs sont bons, scp ne fait pas un excellent travail pour fournir ce retour d'information à l'utilisateur).

Pouvez-vous simplement vous connecter en ssh avec cette clé sur votre hôte AWS?

0 votes

Oui, je peux me connecter en ssh avec cette clé à mon hôte AWS. En fait, le problème que je rencontre est que je suis sur l'hôte Amazon (via ssh), donc lorsque je fais cd, je ne peux voir que les fichiers sur mon serveur Amazon, et non dans mon répertoire de téléchargement Mac local où j'ai enregistré mon fichier pem. Je ne peux accéder à mon répertoire de téléchargement Mac local que lorsque je quitte mon hôte ec2. Mais si je quitte mon hôte ec2, je ne peux pas transférer le fichier phpMyAdmin vers mon serveur ec2. Les autorisations de mon pem sont 400, je pense que c'est bon.

2 votes

Merci beaucoup pour l'aide, j'ai trouvé mon problème grâce à la dernière question que vous avez posée. Il semble que je puisse soit ssh, soit scp, pas les deux ensemble.

0 votes

Merci pour l'astuce hellokitty22. J'avais deux terminaux ouverts, un pour ssh et un pour scp aussi.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X