Utiliser scp pour copier un fichier dans Amazon EC2 instance?

j'essaie d'utiliser mon Terminal Mac pour scp un fichier de téléchargements (phpMyAdmin j'ai téléchargé en ligne) à mon Amazon EC2 instance.

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

scp -i myAmazonKey.pem phpMyAdmin-3.4.5-all-languages.tar.gz  [email protected]:~/.

l'erreur que j'ai eu: avertissement: fichier D'identité myAmazonKey.pem non accessible: Pas de tel fichier ou répertoire. Permission refusée (publickey). perte de connexion

mes deux myAmazonkey.pem et phpMyAdmin-3.4.5 toutes les langues.tar.gz sont dans les téléchargements, alors j'ai essayé

scp -i /Users/Hello_Kitty22/Downloads/myAmazonKey.pem /Users/Hello_Kitty22/Downloads/phpMyAdmin-3.4.5-all-languages.tar.gz  [email protected]:~/.

et l'erreur que j'ai obtenu: Avertissement: le fichier d'Identité /Utilisateur/Hello_Kitty22/Téléchargements/myAmazonkey.pem non accessible: Pas de tel fichier ou répertoire. Permission refusée (publickey). perte de connexion

quelqu'un Peut-il me dire comment résoudre mon problème?

p. S. il y a un post similaire: scp (copie sécurisée) à ec2 instance sans mot de passe mais il n'a pas répondu à ma question.

150
demandé sur Community 2012-07-09 05:02:53
la source

12 ответов

essayer de spécifier que l'utilisateur est ec2-user , p.ex.

scp -i myAmazonKey.pem phpMyAdmin-3.4.5-all-languages.tar.gz [email protected]:~/.

Voir Connexion à Linux/UNIX Instances à l'Aide de SSH .

296
répondu W.P. McNeill 2012-12-18 07:21:32
la source

deuxième répertoire est votre destination cible, n'utilisez pas le nom du serveur. En d'autres termes, vous n'avez pas besoin de mentionner le nom de la machine dans laquelle vous êtes actuellement.

scp -i /path/to/your/.pemkey -r /copy/from/path [email protected]:/copy/to/path

-r si c'est un répertoire.

23
répondu Syed Priom 2014-04-10 14:21:27
la source

votre clé ne doit pas être accessible au public pour que SSH puisse fonctionner. Utilisez cette commande si nécessaire:

chmod 400 yourPublicKeyFile.pem
15
répondu Castelmager 2014-05-19 01:02:08
la source

vous devriez ê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  [email protected]:~/.
10
répondu DV Dasari 2012-10-08 07:15:47
la source

j'ai eu exactement le même problème, ma solution était de

scp -i /path/pem -r /path/file/ [email protected] aws dns name: (laisser en blanc ici)

une fois que vous avez fait cette partie, accédez au serveur ssh et au fichier mv à l'emplacement désiré""

5
répondu Mustafa Kahraman 2016-01-05 05:03:54
la source

Voici les détails de ce qui fonctionne pour un EC2 exemple:

scp -i /path/to/whatever.pem /users/me/path-to-file [email protected]:~

quelques notes pour commencer:

  1. noter les espaces entre les trois paramètres donnés après le -i
  2. scp signifie protocole de copie sécurisée. Connaître les mots rend plus facile de mémoriser la commande.
  3. -i dicte que vous devez donner le .pem fichier comme la prochaine param. S'il n'y a pas de -i , vous n'avez pas besoin de .pem .
  4. noter le :~ à la fin de la destination pour L'instance EC2.
4
répondu Forrest 2018-09-06 17:17:54
la source
scp -i ~/path to pem file/file.pem -r(for directory) /PATH OF LOCAL/localfile [email protected]:PATH OF SERVER/serverdirectory
3
répondu Prafull 2016-05-05 10:32:49
la source

vérifiez les permissions sur le .fichier pem...openssh n'aime généralement pas les clés privées lisibles dans le monde entier, et va échouer (IIR, scp ne fait pas un bon travail de fournir cette rétroaction à l'utilisateur).

pouvez-vous simplement ssh avec cette clé de votre hôte AWS?

0
répondu Bryan Stenson 2012-07-09 08:43:31
la source

vous devez d'abord changer le mode du fichier .pem du mode Lecture et écriture au mode Lecture seule. Cela peut être fait par une seule commande dans le terminal sudo chmod 400 your_public_key.pem

0
répondu Shravan40 2015-09-26 10:17:02
la source

j'ai essayé toutes les suggestions mentionnées ci-dessus et rien n'a fonctionné. J'ai terminé l'instance actuelle, j'en ai lancé une autre et j'ai répété exactement le même processus. Cette fois, pas de problèmes. Parfois, c'est peut-être la faute d'ami.

0
répondu Marie D. 2017-09-06 02:19:46
la source

le processus d'utilisation de SCP pour copier des fichiers d'une machine locale vers une instance Linux AWS EC2 est couvert étape par étape (y compris les points mentionnés ci-dessous) dans cette vidéo .

pour corriger cette question particulière en utilisant SCP:

  1. vous devez spécifier l'utilisateur Linux correct. De Amazon :

    • pour Amazon Linux, le nom d'utilisateur est ec2-utilisateur.
    • pour RHEL, le nom d'utilisateur est ec2-user ou root.
    • Pour Ubuntu, le nom d'utilisateur est ubuntu ou root.
    • pour Centos, le nom d'utilisateur est centos.
    • Pour Fedora, le nom d'utilisateur est ec2-user.
    • Pour SUSE, le nom d'utilisateur est ec2-user ou root.
    • Sinon, si ec2-user et root ne fonctionnent pas, vérifiez auprès de votre fournisseur AMI.
  2. votre clé privée ne doit pas être visible publiquement. Exécutez la commande suivante pour que seul l'utilisateur root puisse lire le fichier.

    chmod 400 /path/to/yourKeyFile.pem
    
0
répondu blackHoleDetector 2017-11-26 21:17:26
la source

j'utiliserais:

scp -i "path to .pem file" "file to be copeide from local machine" [email protected]: 'destination folder to copy file on remote machine'

-1
répondu user1738344 2012-10-11 18:19:40
la source

Autres questions sur