ssh-keygen works for root only?
Does ssh-keygen -t rsa work if only set for root user
i.e, if the username on local system is sodium and i generate the key using the above said command and on the remote system if i place the key in /root/.ssh authorized_keys ,this works.
But on the remote system if the key is placed in /home/natrium/.ssh authorized_keys
This still prompts for a password.Is this the expected behavior or is that some thing wrong in the above procedure
Thanks..
Solution 1:
Check permissions on the remote system:
$ chmod 700 ~/.ssh
$ chmod 600 ~/.ssh/authorized_keys
There is a tool that could be installed in your dist (ubuntu/debian has it) called: ssh-copy-id which will do this for you:
$ ssh-copy-id <remote>
If that doesn't work try ssh with option "-v" to see more verbose messages.
Long version:
#From client to server
client$ scp ~/.ssh/id_rsa.pub remote_server.org:
# next, setup the public key on server
server$ mkdir ~/.ssh
server$ chmod 700 ~/.ssh
server$ cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
server$ chmod 600 ~/.ssh/authorized_keys
server$ rm ~/id_rsa.pub
Solution 2:
Check permissions from ~sodium/.ssh/authorized_keys all the way to /. If any of these are world writable ssh keys won't be trusted.
Run ssh-keygen as the user for whom you need the key. It should be run on the system to which you will be connecting.
ssh-copy-id will copy ids from the target machine to the machine on which you wish to use the key.