Question

New SSH key for a new different user

Posted September 19, 2017 20.1k views
Linux Basics Ubuntu 16.04

Hi everyone.

I have a my droplet with SSH key and it works properly. I created a new user in this droplet. I want to create a new SSH key for this new user. I will use this user for my php website. So, this new ssh key must be different from the root user key. How can I do that?

I’ve been doing a lot of research. But I could not find something that works.

You should be clear on the answers you provide. Because my english is not good. Thanks.

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

2 answers

@TLod

Almost the same steps as before:

  • Generate a key pair using puttygen save the private key to your hard disk.
  • Copy the public key then log in to your droplet as root switch to your user su user then create a directory called .ssh in your home directory and create a file inside it called .authorized_keys and paste the public key there.
  • Open putty enter your droplet IP then browse to SSH -> auth then choose Browse... and open your private key which you saved before.
  • Open Connection -> data and enter your user name in Auto-login username
  • Go back to Session choose a name for your session and choose save now you can connect.

Hope this helps.

@TLod

  • You need to create a new ssh key pair using ssh-keygen BUT BE CAREFUL to change the name of the private key to something different that ~/.ssh/id_rsa, you can call it ~/.ssh/id_user_rsa.

  • Upload your new public key to the server with this command ssh-copy-id -i ~/.ssh/id_user_rsa user@droplet_ip, you will be prompted for your new user’s password here.

  • Then when you want to connect to your droplet using your new user use this command ssh -i ~/.ssh/id_user_rsa user@droplet_ip

Hint: if you need to create a shortcut you can use this file ~/.ssh/config add this content to it

Host user_droplet
   Hostname droplet_ip
   User user
   IdentityFile ~/.ssh/id_user_rsa

Now connect using this command ssh user_droplet

Hope this helps, revert back to me if you needed more help.

Submit an Answer