scp (copie sécurisée) vers l'instance ec2 sans mot de passe

404

J'ai une instance EC2 en cours d'exécution (FreeBSD 9 AMI ami-8cce3fe5), et je peux y accéder en utilisant mon fichier de clé créé par Amazon sans invite de mot de passe, pas de problème.

Cependant, lorsque je veux copier un fichier sur l'instance à l'aide de scp, on me demande d'entrer un mot de passe:

scp somefile.txt -i mykey.pem [email protected]:/

Password:

Avez-vous des idées pourquoi cela se produit / comment cela peut-il être évité?

Hoff
la source
Utilisez-vous exactement le même identifiant pour l'utilisateur et l'hôte?
Lynch
Je ne suis pas sûr de comprendre ce que vous entendez par identifiant, pourriez-vous expliquer?
Hoff
si pour une connexion vous utilisez une adresse IP et pour l'autre vous utilisez un nom, cela ne fonctionnera pas. Je viens de voir que vous utilisez l' -ioption pour fournir votre identité. Il se peut que vous deviez également afficher la commande que vous utilisez pour vous connecter avec ssh.
Lynch
merci lynch, compris!
Hoff

Réponses:

804

Je l'ai compris. J'avais les arguments dans le mauvais ordre. Cela marche:

scp -i mykey.pem somefile.txt [email protected]:/
Hoff
la source
14
de qui comprend comment se connecter à ec2 via ssh, il suffit de changer la sshcommande en scpet d'ajouter le fichier de noms après le fichier pem.
Claudio Santos
11
Comme cette réponse est un peu ancienne, un exemple plus récent de ma nouvelle instance EC2: scp -i kp1.pem ./file.txt [email protected]: / home / ec2-user
siliconrockstar
1
@siliconrockstar Votre relevé [email protected]:/home/ec2-userest facilement remplacé par le [email protected]:./ ./FTW plus court et plus facile !
brock
2
Un commentaire très tardif, mais ce que @ClaudioSantos suggère ne fonctionne pas exactement si vous utilisez un port non standard. C'est -p pour ssh et -P pour scp.
Inukshuk
1
Je peux utiliser mon fichier * .PEM pour passer en ssh dans ec2. cependant, quand je veux l'utiliser pour SCP un fichier, il me donne l'erreur "Autorisation refusée"! Comment puis-je resoudre ceci?
AleX_
58
scp -i /path/to/your/.pemkey -r /copy/from/path user@server:/copy/to/path
Syed Priom
la source
Le paramètre (-r) n'est pas requis mais il est nécessaire de supprimer (/) de la fin du chemin distant. Votre exemple a fonctionné pour moi, merci beaucoup
Abbas
35

J'ai utilisé la commande ci-dessous pour copier à partir de Linux local Centos 7 vers AWS EC2.

scp -i user_key.pem file.txt [email protected]:/home/ec2-user
Renato Coutinho
la source
20

Faire du commentaire de siliconerockstar une réponse car cela a fonctionné pour moi

scp -i kp1.pem ./file.txt [email protected]:/home/ec2-user
joseph.hainline
la source
19
scp -i ~/.ssh/key.pem ec2-user@ip:/home/ec2-user/file-to-copy.txt .

Le nom du fichier ne doit pas être compris entre le fichier pem et la chaîne ec2-user - cela ne fonctionne pas. Cela vous permet également de réserver le nom du fichier copié.

Dele
la source
14

copier un fichier d'un serveur local vers un serveur distant

sudo scp -i my-pem-file.pem ./source/test.txt [email protected]:~/destination/

copier un fichier d'un serveur distant vers une machine locale

sudo scp -i my-pem-file.pem [email protected]:~/source/of/remote/test.txt ./where/to/put

La syntaxe est donc: -

scp -i my-pem-file.pem username@source:/location/to/file username@destination:/where/to/put

-iest pour le fichier d'identité

Jamil Noyda
la source
8

Supposons que votre fichier pem et le fichier somefile.txt que vous souhaitez envoyer se trouvent dans le dossier Téléchargements

scp -i ~/Downloads/mykey.pem ~/Downloads/somefile.txt [email protected]:~/

faites-moi savoir si cela ne fonctionne pas

Yatender Singh
la source
scp -i /Users/Username/Downloads/myfile.pem -r [email protected]: ~ / ~ / Desktop / au cas où vous souhaiteriez transférer des fichiers du serveur vers le local
Yatender Singh
2
Merci j'ai eu "accès refusé" avec :/à la fin mais avec :~/ça marche
cardamome
oui parce que: / est le dossier racine et: ~ / est le dossier utilisateur, donc si vous êtes root, alors: / ou: ~ / tout fonctionnera et si vous n'êtes pas root, alors seulement: ~ / vous devez utiliser.
Yatender Singh
3

scp -i /home/barkat/Downloads/LamppServer.pem lampp_x64_12.04.tar.gz

ce sera très utile pour vous tous

Aboyer à
la source
2

Mon hadoopec2cluster.pemfichier était le seul dans le répertoire de mon mac local, je ne pouvais pas le scper sur aws scp -i hadoopec2cluster.pem hadoopec2cluster.pem ubuntu@serverip:~.

Copiez hadoopec2cluster.pem dans hadoopec2cluster_2.pem puis scp -i hadoopec2cluster.pem hadoopec2cluster_2.pem ubuntu@serverip:~. Voila!

fall14123
la source
2

J'ai raccroché parce que je spécifiais mon fichier de clé publique dans

scp -i [private key file path]

Lorsque j'ai détecté cette erreur et l'ai remplacée par le chemin d'accès à la clé privée, j'étais prêt.

BuvinJ
la source
2

Dans votre cas, l'utilisateur rootn'aura aucun problème. Mais dans certains cas où vous devez vous connecter sous SSH en tant qu'utilisateur différent, assurez-vous que le répertoire que vous utilisez scppossède les autorisations adéquates pour l'utilisateur que vous utilisez SSH.

Shawn
la source
1

Pour utiliser PSCP, vous avez besoin de la clé privée que vous avez générée lors de la conversion de votre clé privée à l'aide de PuTTYgen. Vous avez également besoin de l'adresse DNS publique de votre instance Linux

pscp -i C:\path\my-key-pair.ppk C:\path\Sample_file.txt ec2-user@public_dns:/home/ec2-user/Sample_file.txt
dheeraj kumar
la source
0

écrire ce code

scp -r -o "ForwardAgent=yes" /Users/pengge/11.vim [email protected]:/root/

Si vous avez une clé SSH avec accès au serveur de destination et que le serveur source ne le fait pas, l'ajout de -o "ForwardAgent = yes" vous permettra de transférer votre agent SSH vers le serveur source afin qu'il puisse utiliser votre clé SSH pour se connecter à le serveur de destination.

庄景鹏
la source
-6

Vient de tester:

Exécutez la commande suivante:

sudo shred -u /etc/ssh/*_key /etc/ssh/*_key.pub

Alors:

  1. créer un ami (image de l'ec2).
  2. lancement à partir d'un nouvel ami (image) de l'étape n ° 2 a choisi de nouvelles clés.
amar essa
la source