I'm running an Amazon Fire HD 7 first gen, with cyanogenmod 11 on it. Here are my system settings since they're required on Reddit:


I'm trying to set up ssh with shared key on Cyanogenmod. Normally, it's very easy to connect to my server, but I'm having difficulty setting this up.

I did

ssh-keygen -t rsa -b 4096

on my kindle as root, because the user didn't have access to the folders (why is this, by the way? why can't the user even see the data folder?). I put the key in the default folder with the default file name, which was /data/.ssh/id_rsa. Then I copied id_rsa.pub over to the 'authorized_keys' file on my server, where all the other keys that work are. I restarted the ssh server, but it keeps telling me the public key failed. I ran ssh with the -vv option, and it tells me the same thing, that the keys are not matching.

What do I need to do get the server to recognize the key?

  • What exactly does the error message say?
    – Dan Hulme
    Nov 14, 2014 at 19:25
  • The error message says Permission denied (publickey).
    – JFA
    Nov 14, 2014 at 19:26
  • Are you sure it's even looking at the /data/.ssh directory for the key? That seems like kind of an odd place for it to go since it's not a directory user processes could access without root. Are you basing this setup on some sort of instructions or documentation? Maybe it would help if we could see the steps you're trying to follow in their full context. Nov 14, 2014 at 20:32
  • @eldarerathis unfortunately I haven't found a guide that involves setting up cyanogenmod as a client, only one that sets it up as a server. These are exactly the steps that I have followed, based on my experiences in setting up ssh and some googling for information. I have no idea why ssh-keygen would choose /data/.ssh/id_rsa as the default because, as you said, it is not accessible to the user. I only ever use ubuntu, so this flavor of linux is completely new to me, so I'm struggling through it.
    – JFA
    Nov 14, 2014 at 21:16
  • Why not just move the key to somewhere the ssh binary can read it? You'll probably need to check the owner and permissions on it too.
    – Dan Hulme
    Nov 14, 2014 at 22:25

1 Answer 1


I did more digging, and it looks like this has been a pretty typical problem throughout the versions of cyanogenmod. Not sure if it's a bug or I just lack understanding of the problem.

I was able to connect using ssh -i and specifying the address of the key. When I had set the -v flag, it checked the key I was using and said it didn't match. So I'm thinking at best ssh ships so it's not set up correctly, and at worst, something is broken.

I made an alias so that I don't have to type out -i then the address then the other options I want then the user and host name every time I want to connect to my home server.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .