Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can't ssh to AWS EC2: Identity file not accessible

I'm unable to ssh to my EC2 server and am getting the error:

ssh -i /Users/Skeniver/Keepass/skeniver.pem [email protected]  Identity file /Users/Skeniver/Keepass/skeniver.pem not accessible: No such file or directory 

The file is definitely in the directory and I've chmod'd the directory to 755 and the file to 600:

drwxr-xr-x  14 Skeniver  staff    476 28 Nov  2012 Keepass -rw-------  1 Skeniver  staff    1696  5 Oct  2012 skeniverkey.pem 

I'm pretty sure it's a permissions problem, but can't figure out why...

Here is the output of the ssh command using -v, in case it's of any use:

Warning: Identity file /Users/Skeniver/Keepass/skeniver.pem not accessible: No such file or directory. OpenSSH_5.2p1, OpenSSL 0.9.8r 8 Feb 2011 debug1: Reading configuration data /etc/ssh_config debug1: Connecting to xx.xxx.xx.xxx [xx.xxx.xx.xxx] port 22. debug1: Connection established. debug1: identity file /Users/Skeniver/.ssh/identity type -1 debug1: identity file /Users/Skeniver/.ssh/id_rsa type 1 debug1: identity file /Users/Skeniver/.ssh/id_dsa type -1 debug1: Remote protocol version 2.0, remote software version OpenSSH_5.9p1 Debian-5ubuntu1.1 debug1: match: OpenSSH_5.9p1 Debian-5ubuntu1.1 pat OpenSSH* debug1: Enabling compatibility mode for protocol 2.0 debug1: Local version string SSH-2.0-OpenSSH_5.2 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 'xx.xxx.xx.xxx' is known and matches the RSA host key. debug1: Found key in /Users/Skeniver/.ssh/known_hosts:8 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: Offering public key: /Users/Skeniver/.ssh/id_rsa debug1: Authentications that can continue: publickey debug1: Trying private key: /Users/Skeniver/.ssh/identity debug1: Trying private key: /Users/Skeniver/.ssh/id_dsa debug1: No more authentication methods to try. Permission denied (publickey). 
like image 285
skeniver Avatar asked Jun 11 '13 06:06

skeniver


People also ask

Why can I not SSH into my EC2 instance?

This error occurs if you created a password for your key file, but haven't manually entered the password. To resolve this error, enter the password or use ssh-agent to load the key automatically. There are a number of reasons why you might get an SSH error, like Resource temporarily unavailable.

Why is my EC2 instance refused to connect?

Error message: "ssh: connect to host ec2-X-X-X-X.compute-1.amazonaws.com port 22: Connection refused". This message comes from a host remotely. The following are common causes for this error: The host reached the instance but there was no service listening on the SSH port.


1 Answers

You need the identity file to login to the box. Use the command:

ssh -i (identity_file) username@hostname" 

This worked for me. Write just the filename (without any slashes), unlike Amazon EC2 tutorial which asks you to enter:

ssh -i /path/key_pair.pem ec2-user@public_dns_name 

It worked for me after putting the identity file in the .ssh (hidden) folder on home. To view hidden folders on home, use ctrl+h

like image 94
user2821540 Avatar answered Nov 12 '22 05:11

user2821540