Ilustração 3D de homem com notebook ao lado de ícones de um cadeado, chave, escudo com ícone de WiFi e nuvem representando uma conexão segura
Freepik

O SSH (Secure Shell Protocol) é um protocolo de rede que permite conexões seguras entre computadores através de uma rede não segura. Ele é essencial para administradores de sistemas, desenvolvedores e qualquer pessoa que precise acessar remotamente um servidor ou outro dispositivo.

Imagine que você tem um servidor Ubuntu no trabalho, mas precisa fazer alterações nele enquanto estiver em casa. Sem o SSH, você precisaria estar fisicamente conectado ao servidor para gerenciá-lo. O SSH resolve esse problema criando um túnel criptografado entre o seu computador local e o servidor remoto. Todos os dados enviados por esse túnel são criptografados, tornando-o ilegível para qualquer pessoa que intercepte a conexão.

Veja alguns dos principais usos do SSH:

  • Acesso remoto a servidores: Gerencie e configure servidores remotamente, mesmo que não esteja fisicamente próximo deles.
  • Transferência segura de arquivos: Envie e receba arquivos entre computadores com segurança.
  • Execução de comandos remotamente: Execute comandos em um servidor remoto diretamente do seu computador local.
  • Gerenciamento de usuários e permissões: Crie, gerencie e configure contas de usuário em servidores remotamente.

O SSH é uma ferramenta poderosa que oferece uma maneira segura e eficiente de gerenciar sistemas de computadores remotamente.

Este guia mostrará como habilitar o SSH no Ubuntu (ou Debian, Pop!_OS e Linux Mint), tornando o processo simples e direto.

1. Atualize seu sistema

Antes de habilitar o SSH, é sempre recomendável garantir que seu sistema esteja atualizado. Abra um terminal e execute os seguintes comandos, um por vez (você precisará de permissões de administrador para seguir):

sudo apt update
sudo apt upgrade

2. Instale o servidor SSH

O servidor SSH geralmente já vem instalado por padrão no Ubuntu. Porém, caso não esteja, instale-o com o seguinte comando:

sudo apt install openssh-server

Após a instalação, verifique se o serviço está em execução:

systemctl status ssh

A saída deve ser similar a esta:

ssh.service - OpenBSD Secure Shell server
  Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
  Active: active (running) since Wed 10 apr 2024 00:00:00 BRST; 1 day 19h
  Docs: man:sshd(8)
       man:sshd_config(5)
 Main PID: 1234 (sshd)
 ...

Se não estiver rodando, inicie-o com:

sudo systemctl start ssh

3. Configuração opcional do SSH

O SSH possui configurações padrão seguras, mas você pode editá-las de acordo com suas necessidades. O arquivo de configuração está em /etc/ssh/sshd_config. Utilize seu editor de texto preferido para editá-lo:

sudo nano /etc/ssh/sshd_config

Para alterar a porta SSH, edite a linha “Port 22” e substitua por outra porta desejada. Você também pode permitir ou bloquear login de root editando a linha:

PermitRootLogin yes/no

Use “yes” para permitir e “no” para bloquear.

Salve as alterações e reinicie o serviço SSH para que as modificações tenham efeito:

sudo systemctl restart ssh

Outra opção é gerar um par de chaves SSH e copiá-lo para o servidor remoto, permitindo login por chave. Para gerar a chave, use:

ssh-keygen

Siga as instruções para salvar a chave e definir uma passphrase (opcional). Você verá mensagens semelhantes a:

Sua identificação foi salva em /home/seu-nome-de-usuario/.ssh/id_rsa
Sua chave pública foi salva em /home/seu-nome-de-usuario/.ssh/id_rsa.pub

Para transferir a chave pública para o servidor remoto, execute:

ssh-copy-id usuario@ip_servidor_remoto

Digite a senha do usuário “usuario” no servidor remoto e a chave será adicionada. Para testar, tente logar novamente com ssh usuario@ip_servidor_remoto.

4. Permitindo SSH pelo firewall

Se o seu Ubuntu utiliza firewall (UFW, CSF ou regras iptables) e está bloqueando a porta SSH, será necessário dar premissão à conexão. No UFW, use:

sudo ufw allow ssh

Para permitir a porta 22 no iptables:

sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT

5. Testando sua conexão SSH

Com o SSH habilitado e configurado, você pode testar a conexão de outra máquina. Utilize o seguinte comando para conectar via SSH ao seu Ubuntu:

ssh usuario@nome_do_servidor_ou_ip

Substitua “usuario” pelo seu nome de usuário no Ubuntu e “nome_do_servidor_ou_ip” pelo hostname ou IP do seu sistema. Digite sua senha e, após a autenticação bem-sucedida, você terá acesso remoto ao seu servidor.