First 10 Minutes On A (Ubuntu) Linux Server
Securing Ubuntu
I’ve been meaning to write a post for a while now about setting up a (Ubuntu) Linux server from scratch. I recently found a post, so I will just link to it instead.
My First 10 minutes on a server by Cody Littlewood.
Cody talks about adding users, SSH keys, setting up a firewall etc. well worth reading and bookmarking.
My Version
apt update && apt upgrade
apt install ufw
ufw allow ssh
ufw enable
ufw status
export USERNAME=newuser
useradd $USERNAME
mkdir -p /home/$USERNAME/.ssh
chmod 700 /home/$USERNAME/.ssh
usermod -s /bin/bash $USERNAME
On another machine generate a new SSH key pair:
ssh-keygen -t rsa -b 4096 -C "you@example.com"
Add the public key to the server
vim /home/$USERNAME/.ssh/authorized_keys
chmod 400 /home/$USERNAME/.ssh/authorized_keys
chown $USERNAME:$USERNAME /home/$USERNAME -R
Update the password and enable access to run sudo
.
passwd $USERNAME
visudo
Make sure the following lines are there:
root ALL=(ALL) ALL
%sudo ALL=(ALL:ALL) ALL
Then add the user to the group.
usermod -aG sudo $USERNAME