Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

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

share|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
add comment

3 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

share|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
add comment

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.

share|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
add comment

Make sure the permissions on /var/www are set correctly (chmod 777 /var/www should work)

share|improve this answer
3  
777 is pretty much never correct. –  Michael Hampton Aug 6 '13 at 17:44
add comment

Your Answer

 
discard

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.