Fundamentos do servidor Ubuntu

Etapas essenciais se você estiver configurando seu servidor manualmente. Se você está procurando por algo um pouco mais automatizado, dê uma olhada no meu manual do Ansible adaptado para hosts Ruby on Rails. Essa dica é basicamente igual à função comum ali.

Faça isso após instalar o Ubuntu 12.04 LTS. Estou assumindo que você instalou o Ubuntu por meio de uma sessão de console, criou uma conta de usuário para você durante esse processo e optou por ter atualizações de segurança autônomas lá.

como root

vi /etc/ssh/sshd_config

PermitRootLogin no
PubkeyAuthentication yes
PasswordAuthentication no

Mantenha sua conexão SSH aberta. Não reinicie o sshd ainda.

em sua máquina local

cat ~/.ssh/id_rsa.pub

Coloque o conteúdo desse arquivo (é a sua chave pública) no host remoto.~/.ssh/authorized_keys

Agora faça SSH no host com uma nova janela de terminal. Não deve pedir uma senha.

funcionou?

como root

service ssh restart

A partir de agora, faça login no host como você mesmo e use sudo se precisar ser root.

atualizações essenciais

$ sudo apt-get update
$ sudo apt
-get upgrade

faça o firewall funcionar

https://wiki.ubuntu.com/UncomplicatedFirewall

$ sudo ufw default deny
$ sudo ufw limit ssh

$ sudo ufw allow http

$ sudo ufw allow https

adicione qualquer outro serviço que você deseja expor

$ sudo ufw enable