SSH é um protocolo de rede que fornece uma conexão segura entre um cliente e um servidor. Toda a comunicação é criptografada, prevenindo o roubo de dados transmitidos pela rede e outros ataques remotos.
Suponha que você tenha contratado um servidor em nuvem da Hostman. Você precisará ter o SSH instalado e configurado para se conectar e administrar o servidor.
O guia abaixo descreve como instalar e configurar o SSH no Ubuntu 22.04.
Antes de prosseguir com a instalação e configuração do serviço Secure Shell, verifique se os seguintes requisitos são atendidos:
Habilidades no Terminal Linux para Configuração
Ter domínio dos comandos básicos do Linux como sudo
, apt
, nano
e systemctl
é essencial ao configurar o serviço. Esses comandos serão utilizados com frequência durante o processo de instalação e configuração. É fundamental estar confortável no ambiente de linha de comando para gerenciar o serviço de forma eficaz.
Acesso Root ou Sudo para Instalação
Para instalar e configurar o servidor, são necessários privilégios administrativos (root
). O usuário deve ter acesso sudo
ou estar logado como root
. Sem esses privilégios, o processo de configuração não poderá ser realizado.
Conexão com a Internet para Download dos Pacotes
Uma conexão estável com a internet é necessária para instalar o OpenSSH Server e quaisquer pacotes adicionais relacionados. Sem uma conexão funcional, o sistema não conseguirá obter os componentes necessários.
Se um firewall, como o ufw
, estiver ativado no sistema, ele poderá bloquear o acesso remoto por padrão. É essencial configurar o firewall para permitir conexões de entrada. Use o ufw ou outra ferramenta de firewall para garantir que a porta 22 esteja aberta e acessível.
Você precisará de acesso físico ao servidor para configurá-lo localmente ou acesso remoto via endereço IP. Verifique se o sistema está corretamente conectado à rede para que a conexão seja estabelecida.
Não se esqueça: você pode contratar rapidamente e por um preço acessível um servidor em nuvem escolhendo nossa Hospedagem VPS.
A primeira coisa a fazer antes de começar a instalação do SSH no Ubuntu é atualizar todos os pacotes apt para as versões mais recentes. Para isso, use o comando:
sudo apt update && sudo apt upgrade
O OpenSSH não vem pré-instalado no sistema, então vamos instalá-lo manualmente. No terminal, digite:
sudo apt install openssh-server
A instalação de todos os componentes necessários será iniciada. Responda "Yes" a todas as solicitações do sistema.
Quando a instalação for concluída, siga para a próxima etapa para iniciar o serviço.
Agora você precisa habilitar o serviço recém-instalado usando o comando abaixo:
sudo systemctl enable --now ssh
Se a inicialização for bem-sucedida, você verá a mensagem correspondente do sistema.
A chave --now
ajuda a iniciar o serviço e, ao mesmo tempo, configurá-lo para iniciar junto com o sistema.
Para verificar se o serviço está habilitado e em execução, digite:
sudo systemctl status ssh
A saída deverá conter a linha Active: active (running)
, o que indica que o serviço está em execução corretamente.
Se desejar desativar o serviço, execute:
sudo systemctl disable ssh
Isso desativa o serviço e impede que ele seja iniciado automaticamente na inicialização do sistema.
Antes de se conectar ao servidor via SSH, verifique o firewall para garantir que ele está corretamente configurado.
No nosso caso, temos o ufw instalado, então usaremos o seguinte comando:
sudo ufw status
Na saída, você deve ver que o tráfego SSH está permitido. Se não houver essa permissão, será necessário liberar as conexões de entrada para SSH. O comando abaixo ajuda com isso:
sudo ufw allow ssh
Após concluir as etapas anteriores, você poderá se conectar ao servidor utilizando o protocolo SSH.
Para isso, você precisará do endereço IP ou do nome de domínio do servidor e do nome de um usuário criado no servidor.
No terminal, digite o comando:
ssh usuario@endereco_IP
Ou:
ssh usuario@dominio
Importante: Para que a conexão remota funcione corretamente, o SSH deve estar instalado e configurado tanto no servidor remoto quanto no computador do usuário que está realizando a conexão.
Para maior segurança, considere configurar um par de chaves em vez de usar autenticação por senha. Para gerar as chaves, utilize o comando:
ssh-keygen
Após concluir as cinco primeiras etapas, você já poderá se conectar ao servidor remotamente. No entanto, é possível aumentar ainda mais a segurança da conexão alterando a porta padrão ou trocando a autenticação por senha pela autenticação por chave. Essas e outras alterações exigem a edição do arquivo de configuração do SSH.
As principais configurações do OpenSSH Server estão no arquivo sshd_config
(localizado em /etc/ssh
). Antes de começar a editar, crie um backup do arquivo:
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.initial
Se ocorrerem erros após a edição, você poderá restaurar o arquivo original sem problemas.
Para editar, abra o arquivo com o nano
:
sudo nano /etc/ssh/sshd_config
No arquivo, altere a porta para uma mais segura. O ideal é escolher valores na faixa dinâmica de portas (49152 - 65535) e usar números diferentes para aumentar a segurança. Por exemplo, altere o valor da porta para 49532. Para isso, descomente a linha correspondente e ajuste o número.
Além disso, recomendamos alterar o modo de autenticação por senha para autenticação por chave. Para isso, descomente a linha correspondente e assegure-se de que o valor seja "Yes".
Também recomendamos proibir o login no servidor como superusuário root alterando a linha indicada no arquivo.
Outras configurações que podem aumentar a segurança do servidor incluem:
UseDNS
: verifica se o hostname corresponde ao endereço IP. O valor "Yes" ativa esse parâmetro.
PermitEmptyPasswords
: impede o uso de senhas vazias se o valor for "No".
MaxAuthTries
: limita o número de tentativas sem sucesso durante uma sessão.
AllowUsers
e AllowGroups
: define usuários e grupos autorizados a acessar o servidor:
# AllowUsers Usuario1 Usuario2 Usuario3
# AllowGroups Grupo1 Grupo2 Grupo3
LoginGraceTime
: define o tempo disponível para autenticação bem-sucedida. É recomendável reduzir esse valor em quatro vezes.
ClientAliveInterval
: limita o tempo de inatividade do usuário. Após ultrapassar o limite, o usuário será desconectado.
Após as alterações, salve e feche o editor.
Reinicie o serviço para que as mudanças tenham efeito:
sudo systemctl restart ssh
Se você alterou a porta, conecte-se assim:
ssh -p numero_da_porta usuario@endereco_IP
Ou:
ssh -p numero_da_porta usuario@dominio
sudo systemctl status ssh
sudo systemctl restart ssh
sudo ufw allow 22
ping <endereco-ip-servidor>
Se precisar desativar o acesso remoto:
Parar o serviço temporariamente:
sudo systemctl stop ssh
Impedir inicialização automática:
sudo systemctl disable ssh
Confirmar que o serviço está inativo:
sudo systemctl status ssh
Desinstalar o servidor:
sudo apt remove openssh-server
Este artigo apresenta um guia passo a passo para instalar e configurar SSH no Ubuntu 22.04 e descreve como editar o arquivo de configuração principal para aumentar a segurança. Esperamos que este guia ajude você a configurar uma conexão remota segura no seu servidor Ubuntu.
Para ver mais sobre chaves SSH clique aqui.