Configuração Inicial do Servidor com Ubuntu 22.04

Introdução

Ao criar pela primeira vez um novo servidor Ubuntu 22.04, você deve realizar algumas etapas de configuração importantes como parte da configuração inicial. Essas etapas aumentarão a segurança e usabilidade do seu servidor e fornecerão uma base sólida para ações subsequentes.

Implante suas aplicações do GitHub usando a Plataforma de Aplicativos DigitalOcean. Deixe a DigitalOcean focar na escalabilidade do seu aplicativo.

Passo 1 — Fazendo login como root

Para fazer login no seu servidor, você precisará saber o endereço IP público do servidor. Você também precisará da senha ou da chave privada da conta de usuário root se você instalou uma chave SSH para autenticação. Se você ainda não se conectou ao seu servidor, talvez queira seguir nosso guia sobre como Conectar-se a Droplets com SSH, que cobre esse processo em detalhes.

Se você não estiver conectado ao seu servidor atualmente, faça login como usuário root usando o seguinte comando. Substitua a parte destacada your_server_ip do comando pelo endereço IP público do seu servidor:

  1. ssh root@your_server_ip

Aceite o aviso sobre a autenticidade do host se ele aparecer. Se o seu servidor usar autenticação de senha, forneça sua senha de root para fazer login. Se você estiver usando uma chave SSH protegida por senha, poderá precisar inserir a senha da chave a primeira vez que usar a chave em cada sessão. Se esta for a primeira vez que você fizer login no servidor com uma senha, talvez também precise alterar a senha de root. Siga as instruções para alterar a senha se receber um prompt.

Sobre root

O usuário root é o usuário administrativo em um ambiente Linux com privilégios elevados. Devido aos privilégios aumentados da conta root, é desencorajado o uso regular dela. A conta root pode realizar alterações muito destrutivas, mesmo por acidente.

O próximo passo é configurar uma nova conta de usuário com privilégios reduzidos para uso diário. Mais tarde, mostraremos como obter temporariamente privilégios aumentados para os momentos em que você precisar deles.

Passo 2 — Criando um Novo Usuário

Assim que você fizer login como root, poderá adicionar a nova conta de usuário. No futuro, faremos login com essa nova conta em vez de root.

Este exemplo cria um novo usuário chamado sammy, mas você deve substituir isso por um nome de usuário de sua preferência:

  1. adduser sammy

Você será solicitado a responder algumas perguntas, começando com a senha da conta.

Insira uma senha forte e, opcionalmente, preencha qualquer informação adicional se desejar. Esta informação não é obrigatória e você pode pressionar ENTER em qualquer campo que desejar pular.

Passo 3 — Concedendo Privilégios Administrativos

Agora você tem uma nova conta de usuário com privilégios de conta regulares. No entanto, às vezes será necessário realizar tarefas administrativas como usuário root.

Para evitar sair da sua conta de usuário regular e entrar novamente como usuário root, você pode configurar o que é conhecido como privilégios de superusuário ou root para a conta regular do seu usuário. Esses privilégios permitirão que seu usuário normal execute comandos com privilégios administrativos, colocando a palavra sudo antes do comando.

Para adicionar esses privilégios ao seu novo usuário, você precisará adicionar o usuário ao grupo de sistema sudo. Por padrão no Ubuntu 22.04, os usuários que são membros do grupo sudo têm permissão para usar o comando sudo.

Como root, execute este comando para adicionar seu novo usuário ao grupo sudo (substitua o nome de usuário sammy destacado pelo seu novo usuário):

  1. usermod -aG sudo sammy

Agora você pode digitar sudo antes dos comandos para executá-los com privilégios de superusuário quando estiver conectado como seu usuário regular.

Passo 4 — Configurando um Firewall

Os servidores Ubuntu 22.04 podem usar o firewall UFW para garantir que apenas conexões com determinados serviços sejam permitidas. Você pode configurar um firewall básico usando este aplicativo.

Observação: Se seus servidores estiverem sendo executados na DigitalOcean, você pode opcionalmente usar Firewalls da Nuvem DigitalOcean em vez do firewall UFW. Recomendamos usar apenas um firewall por vez para evitar regras conflitantes que possam ser difíceis de depurar.

Os aplicativos podem registrar seus perfis com o UFW após a instalação. Esses perfis permitem que o UFW gerencie esses aplicativos pelo nome. O OpenSSH, o serviço que permite conectar-se ao seu servidor, tem um perfil registrado com o UFW.

Você pode examinar a lista de perfis UFW instalados digitando:

  1. ufw app list
Output
Available applications: OpenSSH

Você precisará garantir que o firewall permita conexões SSH para que você possa fazer login em seu servidor da próxima vez. Permita essas conexões digitando:

  1. ufw allow OpenSSH

Agora habilite o firewall digitando:

  1. ufw enable

Digite y e pressione ENTER para prosseguir. Você pode ver que as conexões SSH ainda estão permitidas digitando:

  1. ufw status
Output
Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6)

O firewall está atualmente bloqueando todas as conexões, exceto SSH. Se você instalar e configurar serviços adicionais, será necessário ajustar as configurações do firewall para permitir o novo tráfego em seu servidor. Você pode aprender algumas operações comuns do UFW em nosso guia Essenciais do UFW.

Passo 5 — Habilitando Acesso Externo para Seu Usuário Regular

Agora que você tem um usuário regular para uso diário, você precisará garantir que possa fazer SSH na conta diretamente.

Nota: Até verificar se você pode fazer login e usar sudo com seu novo usuário, recomendamos permanecer logado como root. Se tiver problemas de conexão, você pode solucionar problemas e fazer quaisquer alterações necessárias como root. Se você usar um Droplet da DigitalOcean e tiver problemas com sua conexão SSH root, você pode recuperar o acesso aos Droplets usando o Console de Recuperação.

Configurar o acesso SSH para seu novo usuário depende se a conta root do seu servidor usa uma senha ou chaves SSH para autenticação.

Se a conta root usa autenticação por senha

Se você entrou na sua conta root usando uma senha, então a autenticação por senha está ativada para o SSH. Você pode acessar via SSH a sua nova conta de usuário abrindo uma nova sessão de terminal e usando SSH com o seu novo nome de usuário:

  1. ssh sammy@your_server_ip

Após inserir a senha do seu usuário regular, você será conectado. Lembre-se, se precisar executar um comando com privilégios administrativos, digite sudo antes dele assim:

  1. sudo command_to_run

Você receberá uma solicitação para a senha do seu usuário regular ao usar o sudo pela primeira vez em cada sessão (e periodicamente depois).

Para melhorar a segurança do seu servidor, recomendamos fortemente configurar chaves SSH em vez de usar autenticação por senha. Siga nosso guia sobre configurando chaves SSH no Ubuntu 22.04 para aprender como configurar autenticação baseada em chave.

Se a conta root usa autenticação por chave SSH

Se você fez login na sua conta root usando chaves SSH, então a autenticação por senha está desativada para o SSH. Para fazer login como seu usuário regular com uma chave SSH, você deve adicionar uma cópia da sua chave pública local ao arquivo ~/.ssh/authorized_keys do seu novo usuário.

Já que sua chave pública está no arquivo ~/.ssh/authorized_keys da conta root no servidor, você pode copiar esse arquivo e a estrutura de diretórios para sua nova conta de usuário usando sua sessão atual.

A maneira mais simples de copiar os arquivos com as permissões e proprietários corretos é usando o comando rsync. Este comando irá copiar o diretório .ssh do usuário root, preservar as permissões e modificar os proprietários dos arquivos, tudo em um único comando. Certifique-se de alterar as partes destacadas do comando abaixo para corresponder ao nome do seu usuário regular:

Nota: O comando rsync trata fontes e destinos que terminam com uma barra diferente daqueles sem uma barra no final. Ao usar rsync abaixo, certifique-se de que o diretório de origem (~/.ssh) não inclua uma barra no final (verifique se você não está usando ~/.ssh/).

Se você adicionar acidentalmente uma barra no final ao comando, o rsync irá copiar o conteúdo do diretório ~/.ssh da conta root para o diretório home do usuário sudo em vez de copiar toda a estrutura do diretório ~/.ssh. Os arquivos estarão no local errado e o SSH não será capaz de encontrá-los e usá-los.

  1. rsync --archive --chown=sammy:sammy ~/.ssh /home/sammy

Agora, abra uma nova sessão no terminal em sua máquina local e use SSH com seu novo nome de usuário:

  1. ssh sammy@your_server_ip

Você deve estar conectado ao seu servidor com a nova conta de usuário sem usar uma senha. Lembre-se, se precisar executar um comando com privilégios administrativos, digite sudo antes do comando assim:

  1. sudo command_to_run

Você será solicitado a inserir a senha do seu usuário regular ao usar sudo pela primeira vez em cada sessão (e periodicamente depois).

Onde ir a partir daqui?

Neste ponto, você tem uma base sólida para o seu servidor. Você pode instalar qualquer software que precisar em seu servidor agora.

Se desejar se familiarizar mais com os comandos do Linux, você pode conferir nosso Guia Prático da Linha de Comando do Linux.

Source:
https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-22-04