Saltar para o conteúdo
BeoHosting
BeoHosting
Técnico

Como Utilizar o SSH para Gerir um Servidor

BeoHosting Team··12 min de leitura de leitura
Como Utilizar o SSH para Gerir um Servidor

O que é o SSH e porque é importante

O SSH (Secure Shell) é um protocolo de rede que permite uma comunicação segura entre dois computadores através de uma rede insegura. No contexto do alojamento web, o SSH permite-lhe ligar-se ao seu servidor e geri-lo através da linha de comandos - instalar software, editar ficheiros de configuração, reiniciar serviços, visualizar registos e executar todas as tarefas administrativas.

Antes do SSH, os administradores utilizavam o protocolo Telnet, que enviava todos os dados (incluindo palavras-passe) de forma não encriptada. O SSH substituiu o Telnet ao trazer encriptação a toda a comunicação, o que significa que ninguém que esteja a interceptar o tráfego de rede pode ver o que faz no servidor ou roubar as suas credenciais de acesso.

O SSH funciona com base no princípio de uma arquitetura cliente-servidor. O seu computador (cliente) executa um programa de cliente SSH que se liga ao servidor SSH (daemon) em execução no servidor remoto, normalmente na porta 22. Após a autenticação, obtém acesso à linha de comandos do servidor como se estivesse sentado em frente a ele.

Clientes SSH

Para se ligar a um servidor através de SSH, precisa de um programa de cliente SSH no seu computador.

Linux e macOS - Terminal

O Linux e o macOS incluem um cliente SSH integrado. Abra a aplicação Terminal e utilize o comando: ssh utilizador@endereco-ip-do-servidor. Por exemplo: ssh root@185.210.45.67. O sistema irá pedir a sua palavra-passe (ou utilizar uma chave SSH, se estiver configurada). Após uma autenticação bem-sucedida, verá a linha de comandos do servidor e poderá começar a trabalhar.

Windows - PuTTY

O PuTTY é o cliente SSH gratuito mais popular para Windows. Faça o download a partir do site oficial (putty.org) e execute-o. No campo "Host Name" introduza o endereço IP do servidor, deixe a porta em 22, selecione "SSH" como tipo de ligação e clique em "Open". Surgirá uma janela de terminal com um pedido de nome de utilizador e palavra-passe.

Windows 10/11 - SSH integrado

As versões mais recentes do Windows (10 e 11) incluem um cliente OpenSSH integrado. Abra o PowerShell ou a Linha de Comandos e utilize o mesmo comando ssh que no Linux. Esta é uma abordagem mais simples do que o PuTTY, pois não requer a instalação de software adicional e utiliza a mesma interface que o Linux/macOS.

Clientes avançados

Para utilizadores que trabalham diariamente com vários servidores, clientes avançados como o Termius, o MobaXterm ou o Royal TSX oferecem funcionalidades adicionais: guardar ligações, um gestor de ficheiros SFTP, separadores para várias sessões, um gestor de snippets e integração com plataformas cloud.

Configuração básica do SSH

Uma configuração correta da ligação SSH poupa-lhe tempo e melhora a segurança.

Ficheiro de configuração do SSH

No Linux e no macOS, pode criar um ficheiro ~/.ssh/config que guarda as definições dos seus servidores. Em vez de digitar o comando completo com endereço IP, nome de utilizador e porta de cada vez, pode definir aliases. Por exemplo, pode definir um alias "meuservidor" com Host, HostName (endereço IP), User (nome de utilizador), Port e IdentityFile (caminho para a chave SSH). Depois disso, basta digitar ssh meuservidor e tudo será aplicado automaticamente.

Alterar a porta predefinida

O SSH utiliza a porta 22 por predefinição. Mudar para uma porta diferente (por exemplo 2222 ou outra porta não padrão) reduz o número de ataques automatizados, pois a maioria dos bots apenas analisa a porta 22. Esta não é uma medida de segurança real (segurança por obscuridade), mas reduz eficazmente o "ruído" nos registos. Altere a porta no ficheiro /etc/ssh/sshd_config no servidor.

Autenticação por chave SSH

A autenticação por chave é mais segura e mais conveniente do que a utilização de palavras-passe. Em vez de memorizar e digitar uma palavra-passe de cada vez, utiliza um par de chaves criptográficas.

Como funciona

Um par de chaves SSH consiste numa chave privada (que permanece no seu computador e nunca é partilhada) e numa chave pública (que é colocada no servidor). Quando se liga, o servidor envia um desafio que apenas o proprietário da chave privada consegue resolver. O seu cliente SSH utiliza a chave privada para assinar, o servidor verifica a assinatura com a chave pública e - se corresponderem - a autenticação é bem-sucedida. A palavra-passe nunca é transmitida pela rede.

Gerar uma chave

No Linux e no macOS, utilize o comando ssh-keygen para gerar uma chave. Recomendamos o algoritmo Ed25519, que é moderno, rápido e seguro. O comando irá perguntar onde guardar a chave (predefinição ~/.ssh/id_ed25519) e se pretende uma passphrase (uma palavra-passe adicional para proteger a chave - recomendado). Serão criados dois ficheiros: a chave privada e a chave pública com a extensão .pub.

Colocar a chave pública no servidor

A chave pública deve ser copiada para o servidor, no ficheiro ~/.ssh/authorized_keys do utilizador com quem se está a ligar. A forma mais fácil é o comando ssh-copy-id, que copia automaticamente a sua chave pública para o servidor. Em alternativa, pode adicionar manualmente o conteúdo do ficheiro .pub ao authorized_keys no servidor.

Desativar a palavra-passe

Depois de confirmar que as chaves SSH funcionam, recomenda-se desativar a autenticação por palavra-passe no servidor, editando o ficheiro sshd_config e definindo PasswordAuthentication como no. Isto aumenta drasticamente a segurança, pois os bots não conseguem adivinhar a palavra-passe - a única forma de acesso é possuindo a chave privada.

Comandos SSH mais importantes

Eis os comandos que utilizará com mais frequência no servidor.

Navegação e ficheiros

  • ls -la: Lista os ficheiros do diretório com informação detalhada (permissões, proprietário, tamanho, data).
  • cd /caminho/para/diretorio: Altera o diretório ativo.
  • pwd: Mostra o diretório atual.
  • cat ficheiro.txt: Apresenta o conteúdo de um ficheiro no terminal.
  • nano ficheiro.txt: Abre um ficheiro no editor nano para edição. Ctrl+O para guardar, Ctrl+X para sair.
  • cp origem destino: Copia um ficheiro. Adicione -r para diretórios.
  • mv origem destino: Move ou renomeia um ficheiro ou diretório.
  • rm ficheiro: Elimina um ficheiro. rm -rf diretorio elimina um diretório com todo o seu conteúdo (cuidado com este comando!).
  • chmod 755 ficheiro: Altera as permissões do ficheiro (755 = proprietário tudo, grupo/outros ler e executar).
  • chown utilizador:grupo ficheiro: Altera a propriedade do ficheiro.

Sistema e serviços

  • top ou htop: Mostra os processos ativos e a utilização de recursos (CPU, RAM) em tempo real.
  • df -h: Mostra a utilização do disco num formato legível.
  • free -h: Mostra a utilização da memória (RAM).
  • systemctl status nginx: Mostra o estado de um serviço (nginx, mysql, php-fpm, etc.).
  • systemctl restart nginx: Reinicia um serviço.
  • journalctl -u nginx -f: Acompanha os registos do serviço em tempo real.
  • tail -f /var/log/syslog: Acompanha o registo do sistema em tempo real.

Rede

  • ping dominio.com: Testa a ligação a um servidor ou domínio.
  • curl -I https://dominio.com: Mostra os cabeçalhos HTTP de um site (útil para verificar redirecionamentos e cabeçalhos).
  • netstat -tulpn: Mostra todas as ligações de rede ativas e as portas em escuta.
  • dig dominio.com: Uma consulta DNS que mostra os registos DNS de um domínio.

Transferência de ficheiros

O protocolo SSH também permite a transferência segura de ficheiros entre o seu computador e o servidor.

SCP (Secure Copy)

O SCP utiliza o SSH para copiar ficheiros. Para carregar um ficheiro para o servidor utilize scp ficheiro_local utilizador@servidor:/caminho/no/servidor. Para descarregar do servidor utilize scp utilizador@servidor:/caminho/no/servidor/ficheiro ./diretorio_local. Para copiar diretórios inteiros adicione a flag -r. O SCP é simples, mas não oferece funcionalidades avançadas como retomar transferências interrompidas.

SFTP (SSH File Transfer Protocol)

O SFTP é um protocolo interativo de transferência de ficheiros que funciona sobre SSH. Pode utilizá-lo a partir de um terminal com o comando sftp utilizador@servidor ou através de clientes gráficos como o FileZilla, o WinSCP ou o Cyberduck. O SFTP oferece navegação de diretórios, exploração de ficheiros, upload/download com retoma de transferências interrompidas e gestão de permissões - tudo através de uma ligação SSH segura.

rsync

O rsync é uma ferramenta de sincronização de ficheiros mais avançada que transfere apenas as alterações (o delta) em vez de ficheiros inteiros. É ideal para backups e para sincronizar grandes quantidades de dados. O comando rsync -avz --progress origem utilizador@servidor:/destino sincroniza um diretório local com um do servidor, transferindo apenas os ficheiros alterados. O rsync também suporta compressão durante a transferência e a retoma de operações interrompidas.

Recomendações de segurança do SSH

  • Utilize chaves SSH: Prefira sempre chaves em vez de palavras-passe. Desative a autenticação por palavra-passe depois de configurar as chaves.
  • Restrinja o acesso: Utilize AllowUsers ou AllowGroups no sshd_config para restringir quais os utilizadores que podem aceder por SSH.
  • Fail2ban: Instale o fail2ban, que bloqueia automaticamente endereços IP após um determinado número de tentativas de início de sessão falhadas.
  • Atualize regularmente: Mantenha o servidor SSH (OpenSSH) atualizado, pois ocasionalmente são descobertas e corrigidas vulnerabilidades de segurança.
  • Proteja a chave privada: Nunca partilhe a chave privada. Defina uma passphrase na chave. Mantenha um backup num local seguro.
  • Desative o acesso root: Defina PermitRootLogin como no ou prohibit-password e utilize sudo para tarefas administrativas.

Conclusão

O SSH é a ferramenta fundamental para a gestão de servidores, e todos os proprietários de um VPS ou servidor dedicado devem aprender os comandos SSH básicos. Comece com tarefas simples como visualizar registos e reiniciar serviços, e depois avance gradualmente para configurações avançadas como chaves SSH e configuração de firewall. Com a prática, a linha de comandos torna-se mais rápida e eficiente do que qualquer interface gráfica. Na BeoHosting, todos os nossos planos VPS incluem acesso SSH e controlo root total, e a nossa equipa de suporte está sempre disponível para ajudar com a configuração e a definição de segurança.

BeoHosting Team

10+ anos de experiência — Especialistas em alojamento web e infraestrutura

  • Web Hosting
  • WordPress Hosting
  • VPS
  • Dedicated Serveri
  • Domeni
  • SSL
  • cPanel
  • LiteSpeed
  • Linux administracija
  • DNS

Última atualização: