I am trying to create a server setup script. On initialization of the server, I add my ssh key which then gives me access to the root user via ssh. I now have created another user and gave them sudo access. Now I am trying to figure out how I can copy my SSH key from root user to the new user I just created. Both users are on the same machine and one is root and the other is a sudo user.
1 Answer
This is just one of a few different ways to do this. I am assuming you've just created your user and it has sudo access.
Create the folder if it doesn't already exist:
mkdir /home/$USER/.sshMake the directory only executable by the user:
chmod 700 /home/$USER/.sshCopy the
authorized_keysfile that contains your public key:sudo cp /root/.ssh/authorized_keys /home/$USER/.ssh/authorized_keysMake everything in
.sshowned by your user:sudo chown -R $USER:$USER /home/$USER/.sshMake it readable only by your user:
sudo chmod 600 /home/$USER/.ssh/authorized_keys
If your user does NOT have sudo access, you can modify this workflow a bit. Using your user name instead of <user>, run these as root:
mkdir /home/<user>/.ssh
chmod 700 /home/<user>/.ssh
cp /root/.ssh/authorized_keys /home/<user>/.ssh/authorized_keys
chmod 600 /home/<user>/.ssh/authorized_keys
chown -R <user>:<user> /home/<user>/.ssh 4