Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am on Amazon AWS and I have two EC2 instance on my account. Trying to send rsa key via SSH to another EC2 instance using internal private IP. But its not working.

scp -i .ssh/

What am I doing wrong and how do I send file to another EC2 account with ssh.

share|improve this question
up vote 6 down vote accepted

Here the scp format:

scp -i <key> <what_to_copy> <where_to_copy>

You are missing <what_to_copy> in the example.

Also check the security group of the target server. It should allow the connections either the the security group of the source sever or from the network.

share|improve this answer
I guess im clueless with SCP. How do I locate the <key> ? Is this from my local machine? I am reciveing "Identity file key.pem not accessible" – Maca Dec 2 '11 at 10:14
Technically, it is the 3rd argument that is missing; the source can be a remote path. – Falcon Momot Oct 23 '12 at 5:39
i forgot to add security groups, your answer helped. thanks – ufk Mar 4 '14 at 10:45

This won't completely replace the authorized_keys file, so you can continue logging in with previous access:

cat .ssh/ | ssh -i key.pem USER@x.x.x.x 'cat >>.ssh/authorized_keys'

where "USER" might be "root", "ec2-user", or "ubuntu", depending on the AMI you are running.

Or, just start your EC2 instances using your personal ssh keys in the first place. Here's an article I wrote about that:

Uploading Personal ssh Keys to Amazon EC2

share|improve this answer

You are probably using the 10.x.x.x-ip of the instance. This won't work. Use the external path. (something like Or attach an elastic IP to it and use that.

share|improve this answer
I tried using the elastic IP then SCP but I received: Permission denied (publickey). lost connection – Maca Dec 2 '11 at 7:26
you're trying to add the pubkey to authorized_keys by logging in with the same key pair? :) just cat on the source server and paste into the target server's authorized_keys by hand. – lunixbochs Dec 2 '11 at 7:55
I think I got the right command but i get permission err. /root/.ssh/ Permission denied . Im logged in as ec2-user. – Maca Dec 3 '11 at 9:44

I've moved my key to ~/.ssh then created the file ~/.ssh/config(or appended to it) with:

IdentityFile ~/.ssh/key.pem

This will let you ssh and scp without ever specifying the key location.

share|improve this answer

I had this same issue today. Here is my script for a number of files:








for i in "${files[@]}"


  scp -3 -i ~/.ssh/AAA.pem ubuntu@$from:$i ubuntu@$to:$i


I hope this helps! :)

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.