I have an EC2 instance running (FreeBSD 9 AMI ami-8cce3fe5), and I can ssh into it using my amazon-created key file without password prompt, no problem.
However, when I want to copy a file to the instance using scp I am asked to enter a password:
scp somefile.txt -i mykey.pem root@my.ec2.id.amazonaws.com:/
Password:
Any ideas why this is happening/how it can be prevented?
I figured it out. I had the arguments in the wrong order. This works:
scp -i mykey.pem somefile.txt root@my.ec2.id.amazonaws.com:/
scp -i /path/to/your/.pemkey -r /copy/from/path user@server:/copy/to/path
I've used below command to copy from local linux Centos 7 to AWS EC2.
scp -i user_key.pem file.txt ec2-user@my.ec2.id.amazonaws.com:/home/ec2-user
scp -i ~/.ssh/key.pem ec2-user@ip:/home/ec2-user/file-to-copy.txt .
The file name shouldnt be between the pem file and the ec2-user string - that doesnt work. This also allows you to reserve the name of the copied file.
Making siliconerockstar's comment an answer since it worked for me
scp -i kp1.pem ./file.txt ec2-user@1.2.3.4:/home/ec2-user
lets assume that your pem file and somefile.txt you want to send is in Downloads folder
scp -i ~/Downloads/mykey.pem ~/Downloads/somefile.txt root@my.ec2.id.amazonaws.com:~/
let me know if it doesn't work
scp -i /home/barkat/Downloads/LamppServer.pem lampp_x64_12.04.tar.gz
this will be very helpful to all of you guys
My hadoopec2cluster.pem
file was the only one in the directory on my local mac, couldn't scp it to aws using scp -i hadoopec2cluster.pem hadoopec2cluster.pem ubuntu@serverip:~
.
Copied hadoopec2cluster.pem to hadoopec2cluster_2.pem and then scp -i hadoopec2cluster.pem hadoopec2cluster_2.pem ubuntu@serverip:~
. Voila!
I was hung up on this because I was specifying my public key file in
scp -i [private key file path]
When I caught that mistake and changed it to the private key path instead, I was all set.
In your case, the user root
won't have any issues. But in certain cases where you're required to login under SSH as a different user, make sure the directory you're scp
-ing has adequate permissions for the user you're SSH-ing.
write this code
scp -r -o "ForwardAgent=yes" /Users/pengge/11.vim root@192.168.2.228:/root/
If you have a SSH key with access to the destination server and the source server does not, adding -o "ForwardAgent=yes" will allow you to forward your SSH agent to the source server so that it can use your SSH key to connect to the destination server.
To use PSCP, you need the private key you generated in Converting Your Private Key Using PuTTYgen. You also need the public DNS address of your Linux instance
pscp -i C:\path\my-key-pair.ppk C:\path\Sample_file.txt ec2-user@public_dns:/home/ec2-user/Sample_file.txt
Just tested:
Run the following command:
sudo shred -u /etc/ssh/*_key /etc/ssh/*_key.pub
Then:
- create ami (image of the ec2).
- launch from new ami(image) from step no 2 chose new keys.
来源:https://stackoverflow.com/questions/6558080/scp-secure-copy-to-ec2-instance-without-password