I'm trying to copy a file from my local host to my Amazon EC2 instance using SCP and receiving the error:

Warning: Identity file blocks_key.pem not accessible: No such file or directory. Permission denied (publickey). lost connection

The command that prompts this error is:

scp -i ~/Desktop/Blocks/blocks_key.pem ~/Desktop/Blocks/code/www/uploadtest.html ubuntu@ip.address:/var/www

I was able to SSH using the same -i ~/Desktop/Blocks/blocks_key.pem so I'm unclear why this isn't working correctly. Any insight would be much appreciated!

Debugging info:

OpenSSH_5.3p1 Debian-3ubuntu7, OpenSSL 0.9.8k 25 Mar 2009
Warning: Identity file /Desktop/Blocks/blocks_key.pem not accessible: No such file or directory.
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to 184.73.234.234 [184.73.234.234] port 22.
debug1: Connection established.
debug1: identity file /home/ubuntu/.ssh/identity type -1
debug1: identity file /home/ubuntu/.ssh/id_rsa type -1
debug1: identity file /home/ubuntu/.ssh/id_dsa type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3p1 Debian-3ubuntu7
debug1: match: OpenSSH_5.3p1 Debian-3ubuntu7 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.3p1 Debian-3ubuntu7
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Host '184.73.234.234' is known and matches the RSA host key.
debug1: Found key in /home/ubuntu/.ssh/known_hosts:1
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /home/ubuntu/.ssh/identity
debug1: Trying private key: /home/ubuntu/.ssh/id_rsa
debug1: Trying private key: /home/ubuntu/.ssh/id_dsa
debug1: No more authentication methods to try.
Permission denied (publickey).
lost connection

Thanks

link|improve this question
Maybe use the -v option with scp and post the output? – Zoredache Jul 25 '11 at 19:25
@Zoredache - added debugging info thanks for the help! – John Jul 25 '11 at 19:35
feedback

2 Answers

up vote 1 down vote accepted

Perhaps you've found a bug?

Another way of doing the same thing (wonder if this works for you?):

scp -oIdentityFile=/Users/emmie/Desktop/Blocks/blocks_key.pem ~/Desktop/Blocks/code/www/uploadtest.html ubuntu@ip.address:/var/www

Also, it might help (just curious) if you post the output of:

stat /Users/emmie/Desktop/Blocks/blocks_key.pem

link|improve this answer
Hmm.. that alternative SCP didn't work but I think your idea about stat is interesting. here is the output: stat: cannot stat `/home/ubuntu/Users/emmie/Desktop/Blocks/blocks_key.pem': No such file or directory – John Jul 25 '11 at 20:09
It looks like it's looking for the target file on the server when in fact I want it to be looking for the target on my localhost. How do I correct that? – John Jul 25 '11 at 20:10
I figured this out, it was a careless error on my part as I was already SSH'd into the server. Thanks for all the help though! – John Jul 25 '11 at 20:20
feedback

From your verbose output see this message.

Warning: Identity file /Desktop/Blocks/blocks_key.pem not accessible: No such file or directory.

Instead of using ~/, try providing the full path in your command line. Perhaps you are using a shell that doesn't support the expansion of ~ to your home directory.

Not sure if that is your problem, but you will give a path to scp that will actually allow it to find the key on the filesystem, in order to use it.

link|improve this answer
Hmm... I tried the full path /Users/emmie/Desktop/Blocks/blocks_key.pem and that gave the same warning that it wasn't accessible and no such file or directory exists. – John Jul 25 '11 at 19:42
I'm confused because the ~/Desktop/Blocks/blocks_key.pem works for SSH – John Jul 25 '11 at 19:42
feedback

Your Answer

 
or
required, but never shown

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