I have a cloud based server. I followed this guide to configure its security : http://www.rubytreesoftware.com/resources/securely-setup-ubuntu-1404-server
The configuration of SSH is as follows:
# Edit or add the following configuration to sshd_config
PermitRootLogin no
PasswordAuthentication no
X11Forwarding no
AllowUsers andy deploy
I authenticate with the remote server by adding my private key on my laptop to the authorised keys on the host.
My concern is, what happens if I loose my public key on the laptop. Am I locked out the server? What is best practice here - and how can I mitigate the risk of loosing my public key?
What happens if my public key changes? Also can I 'backup' my public key incase this happens? I assume no because its a key pair specific to the machine but worthwhile checking.
The firewall being used is ufw and is configured like so :
# configure ufw
sudo ufw logging on
sudo ufw allow ssh
sudo ufw allow www
If there is something else I should have done to secure this server which delivers a web application please let me know what I've missed. Any good articles on securing servers which are cloud based and serve public applications would be highly appreciated.