I\'ve created an RSA public key and I want to add that to authorized_keys
file, but there is no such file in my Ubuntu 11.10 machine.
How can I add the key
>ssh user@serverip -p portnumber
>sudo bash (if user does not have bash shell else skip this line)
>cd /home/user/.ssh
>echo ssh_rsa...this is the key >> authorized_keys
There is already a command in the ssh suite to do this automatically for you. I.e log into a remote host and add the public key to that computers authorized_keys file.
ssh-copy-id -i /path/to/key/file user@host.com
If the key you are installing is ~/.ssh/id_rsa
then you can even drop the -i
flag completely.
Much better than manually doing it!
Make sure when executing Michael Krelin's solution you do the following
cat <your_public_key_file> >> ~/.ssh/authorized_keys
Note the double >
without the double >
the existing contents of authorized_keys will be over-written (nuked!) and that may not be desirable
I know I am replying too late but for anyone else who needs this, run following command from your local machine
cat ~/.ssh/id_rsa.pub | ssh user@192.168.1.1 "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"
this has worked perfectly fine. All you need to do is just to replace
user@192.168.1.1
with your own user for that particular host
mkdir -p ~/.ssh/
cat your_key > ~/.ssh/authorized_keys
cat your_key >> ~/.ssh/authorized_keys