O que é SSH? Guia Completo para Iniciantes e Profissionais

O que é SSH:
O SSH (Secure Shell) é um dos pilares da administração de servidores, automação de tarefas e conexões remotas seguras no universo Linux e Unix. É como uma ponte entre você e servidores!

SSH: Guia Completo para Iniciantes e Profissionais

GUIA KALI LINUX:

100% GRATUITO AGORA!

Guia Kali Linux

Breve Histórico

O SSH foi criado em 1995 por Tatu Ylönen, justamente para substituir protocolos inseguros como o Telnet e o rlogin, que transmitiam tudo em texto puro — até mesmo senhas! Com o SSH, nasceu uma nova era de acesso remoto com criptografia e autenticação robusta.

Para que serve o SSH?

  • Acessar servidores remotamente:
    Perfeito para administrar máquinas em datacenters, nuvem ou qualquer ambiente sem precisar estar fisicamente presente.
  • Transferir arquivos com segurança:
    Ferramentas como scp e sftp usam SSH para garantir que seus dados não serão interceptados.
  • Automação de tarefas e scripts:
    Ideal para automatizar backups, deploys, atualizações e monitoramento em ambientes distribuídos.
  • Tunelamento seguro (port forwarding):
    Encaminha conexões locais para servidores remotos (útil para acessar bancos, serviços web internos, e outros recursos protegidos).
Para que serve o SSH?

Por que o Gerenciamento de Servidores é Remoto?

O gerenciamento remoto de servidores é uma necessidade de praticidade, segurança e eficiência. Servidores ficam em datacenters, muitas vezes em outras cidades ou países, tornando inviável o acesso constante ao local físico. O acesso remoto via SSH permite monitorar, configurar e solucionar problemas de onde você estiver, além de agilizar processos, reduzir custos e garantir disponibilidade máxima dos sistemas.

Como funciona o SSH?

Quando você usa SSH, toda a comunicação é cifrada. Usuário, comandos, arquivos, tudo passa “embaralhado” pela internet, impedindo tentativas de espionagem. Você pode se autenticar usando senha (menos seguro) ou chave pública/privada (muito mais seguro e recomendado).

Instalando o SSH no Linux

Pense no SSH como um interfone de condomínio. O morador instala um aparelho para atender ligações (isso é o openssh-server); o visitante só precisa de um telefone para ligar (isso é o openssh-client).

  • openssh-server: Permite que a máquina receba conexões SSH.
  • openssh-client: Permite que você acesse outros servidores SSH.
openssh-server e openssh-client:

No Debian/Ubuntu:
sudo apt update

sudo apt install openssh-server

No RedHat/CentOS/Fedora:
sudo dnf install openssh-server

O openssh-client geralmente já vem instalado!

Acessando uma Máquina Remotamente

Exemplo do comando:
ssh usuario@ip.ou.hostname
ssh fernando@192.168.0.50

Transferindo Arquivos com SSH

  • Com SCP (Secure Copy):
    scp
    arquivo.txt usuario@192.168.0.50:/home/usuario/
  • Com SFTP (SSH File Transfer Protocol):
    sftp usuario@192.168.0.50
    #Utilize comandos interativos para enviar/baixar arquivos

Usando Chaves Públicas/Privadas para Autenticação Segura

Usar chaves públicas/privadas no SSH é como ter um cadeado especial na porta do servidor.
Você deixa o cadeado (chave pública) na porta do servidor, e só você tem a chave (chave privada) que pode abri-lo.

Usar chaves públicas/privadas no SSH

Assim, só quem tiver essa chave única consegue entrar, sem precisar digitar senha, de forma muito mais segura!

O uso de chaves é vital para segurança profissional! O SSH pode funcionar via senha, mas o ideal (e mais seguro) é adotar chave pública/privada:

O comando abaixo irá criar dois arquivos:
ssh-keygen

  • id_rsa (chave privada, fica protegida na sua máquina)
  • id_rsa.pub: sua chave pública (distribua para os servidores que quer acessar)

Instalar a chave pública no servidor:
ssh-copy-id usuario@ip.ou.hostname

Agora, ao conectar, não será mais necessário digitar a senha, e sua sessão estará ainda mais segura. O SSH checa a chave, se for você mesmo, está autorizado e a conexão é aberta de forma automática e segura.

Tunelamento Seguro (Port Forwarding)

Exemplo:
ssh -L 8080:intranet.empresa.com:80 usuario@servidor
Agora, ao acessar localhost:8080 no seu navegador, você estará enxergando o site interno do servidor remoto, de qualquer lugar do mundo, de forma cifrada!

ssh: Tunelamento Seguro


Imagine que existe uma sala secreta dentro de uma empresa (um site, por exemplo) que só pode ser visitada por funcionários que estão lá dentro do prédio. Você, fora da empresa, normalmente não teria acesso a essa sala.

Agora, pense no SSH como um túnel invisível, tipo um tubo especial que vai da sua casa direto até essa sala secreta, passando por baixo de tudo e ninguém vê você chegando lá.

Ao criar esse túnel SSH, você pode acessar o que existe dentro da sala secreta (o site interno), como se estivesse dentro da empresa, mas na verdade, você está na sua casa e o túnel seguro leva você lá!

Dessa forma, o acesso é protegido, ninguém no caminho vê o que você está fazendo, e parece que você está “virtualmente” na empresa, mesmo estando longe.

Arquivo de Configuração: /etc/ssh/sshd_config

O arquivo /etc/ssh/sshd_config configura o ssh.

  • Porta de acesso (Port 22)
  • Permitir ou não login como root (PermitRootLogin no)
  • Só aceitar login por chave (PasswordAuthentication no)
  • Restringir por usuários/grupos
  • Outros parâmetros avançados de controle

Sempre faça backup antes de alterar!

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bkp
sudo nano /etc/ssh/sshd_config


sudo systemctl restart sshd
sudo systemctl status sshd

Arquivo de Configuração: /etc/ssh/sshd_config

Parâmetros mais utilizados

Port 22
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
AllowUsers fernando admin

Boas Práticas para Segurança SSH

  • Use autenticação por chave, nunca por senha
  • Troque a porta padrão (22) por outra menos visada
  • Restrinja acesso por usuários/grupos ou IP
  • Mantenha o sistema sempre atualizado
  • Monitore tentativas de acesso: tail -f /var/log/auth.log

Problemas Comuns e Soluções Rápidas

  • Connection refused: O serviço SSH pode não estar rodando, tente sudo systemctl start sshd.
  • Permission denied: Usuário ou chave incorretos, ou acesso restrito por configuração.
  • Porta bloqueada: Firewall pode estar barrando, abra a porta escolhida.
Connection refused
Permission denied 
Porta bloqueada

Conclusão

O SSH revolucionou o gerenciamento de servidores, trazendo segurança, praticidade e flexibilidade para o mundo da tecnologia. Dominar seus conceitos e comandos é essencial para qualquer profissional de TI, DevOps, Cloud, Pentest ou administradores de sistemas.

Agora que você sabe tudo isso, que tal testar instalar, configurar e explorar o SSH no seu próprio ambiente?

Editor Avançado de Configuração SSHD

Editor Avançado de Configuração SSHD

Configure seu servidor SSH com segurança. Todas as alterações são simuladas antes de aplicar.

Editor
Exemplos
Segurança
# Arquivo: /etc/ssh/sshd_config Port 22 PermitRootLogin no PasswordAuthentication no PubkeyAuthentication yes X11Forwarding no MaxAuthTries 3 AllowUsers fernando admin
Recomenda-se usar porta acima de 1024 (ex: 2222, 54322)
Número de tentativas antes de bloquear o IP (recomendado: 3)
Lista de usuários separados por espaço

Configurações Recomendadas

# Configuração segura para servidores públicos Port 54322 PermitRootLogin no PasswordAuthentication no PubkeyAuthentication yes X11Forwarding no MaxAuthTries 3 AllowUsers admin deploy

Configuração para Ambiente Interno

# Configuração para rede interna confiável Port 22 PermitRootLogin no PasswordAuthentication yes PubkeyAuthentication yes X11Forwarding yes MaxAuthTries 6 AllowUsers dev team admin

Configuração Restritiva

# Configuração máxima de segurança Port 2222 PermitRootLogin no PasswordAuthentication no PubkeyAuthentication yes X11Forwarding no MaxAuthTries 2 AllowUsers admin

Boas Práticas de Segurança SSH

Nunca permita login root – Crie um usuário normal e use sudo para tarefas administrativas.
Evite autenticação por senha – Use chaves SSH sempre que possível. Senhas são vulneráveis a ataques de força bruta.
Use portas não padrão – Mudar da porta 22 reduz significativamente ataques automatizados.

Dicas Adicionais

  • Implemente fail2ban para bloquear IPs após tentativas fracassadas
  • Use chaves SSH com passphrase para maior segurança
  • Considere usar autenticação de dois fatores para acesso crítico
  • Atualize regularmente seu servidor SSH para a versão mais recente
  • Monitore logs de autenticação (/var/log/auth.log)

Comandos Úteis

# Testar configuração antes de aplicar sudo sshd -t # Recarregar configuração sem reiniciar sudo systemctl reload sshd # Verificar conexões SSH ativas sudo netstat -tulnp | grep sshd

GUIA KALI LINUX:

100% GRATUITO AGORA!

Guia Kali Linux

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Rolar para cima