Você sabe o que é SSH? Um guia para devs Iniciantes

Olá! 💜

Se você está começando a trabalhar com servidores, GitHub ou qualquer infraestrutura remota, vai esbarrar no SSH cedo ou tarde.

Hoje vamos ver o que é, como funciona e como usar na prática.

Siga nossa página no Linkedin e no Instagram e ajude a divulgar nosso conteúdo. Por mais mulheres em tech! 🥰


Veja também:


O problema que o SSH resolve

Imagina que você precisa acessar um servidor que está fisicamente em outro país.

Você não pode sentar na frente dele, precisa se conectar pela internet e executar comandos como se estivesse lá.

O problema: como fazer isso de forma segura?

Se você mandar seus comandos em texto puro pela rede, qualquer pessoa no meio do caminho consegue ler tudo, incluindo suas senhas.

O SSH resolve isso.


O que é SSH

SSH significa Secure Shell. É um protocolo de comunicação que permite acessar e controlar máquinas remotas pelo terminal, com toda a comunicação criptografada.

Na prática, com SSH você consegue:

  • Acessar um servidor Linux pela linha de comando
  • Transferir arquivos com segurança
  • Executar scripts remotamente
  • Fazer deploy de aplicações
  • Clonar repositórios Git via SSH

Como funciona

O SSH usa criptografia assimétrica. O conceito central são dois arquivos que funcionam juntos:

Chave privada — fica na sua máquina. Nunca compartilhe com ninguém.

Chave pública — você coloca no servidor ou serviço que quer acessar. Pode ser distribuída livremente.

Quando você tenta se conectar, o servidor verifica se a sua chave privada corresponde à chave pública cadastrada. Se bater, acesso liberado — sem precisar digitar senha toda vez.


Gerando suas chaves SSH

Abra o terminal e rode:

ssh-keygen -t ed25519 -C "seu@email.com"

O comando vai perguntar onde salvar (pressione Enter para aceitar o padrão) e se quer uma senha para proteger a chave (recomendado).

Isso gera dois arquivos em ~/.ssh/:

  • id_ed25519 — sua chave privada
  • id_ed25519.pub — sua chave pública

Conectando em um servidor

ssh usuario@ip-do-servidor

Exemplo:

ssh root@192.168.1.100

Na primeira conexão, o terminal pergunta se você confia no servidor.

Digite yes. A partir daí, a conexão é estabelecida e você está operando no terminal remoto.


Adicionando sua chave pública ao servidor

Para não precisar digitar senha a cada conexão, copie sua chave pública para o servidor:

ssh-copy-id usuario@ip-do-servidor

Isso adiciona sua chave pública no arquivo ~/.ssh/authorized_keys do servidor. A partir daí, a autenticação é automática.


SSH e GitHub

Quando você clona um repositório via SSH em vez de HTTPS, o Git usa suas chaves para autenticar. Sem precisar digitar usuário e senha a cada push ou pull.

Para configurar, pegue o conteúdo da sua chave pública:

cat ~/.ssh/id_ed25519.pub

Copie o output e cole em GitHub → Settings → SSH and GPG keys → New SSH key.

Teste a conexão:

ssh -T git@github.com

Se retornar Hi seu-usuario!, está funcionando.


Comandos úteis para o dia a dia

Copiar arquivo local para servidor:

scp arquivo.txt usuario@servidor:/caminho/destino/

Copiar arquivo do servidor para local:

scp usuario@servidor:/caminho/arquivo.txt ./

Criar um túnel (útil para acessar bancos de dados remotos):

ssh -L 5432:localhost:5432 usuario@servidor

O que guardar disso tudo

SSH é o padrão da indústria para acesso remoto seguro. Você vai usar isso por toda a sua carreira como dev.

O essencial para começar é: gere suas chaves, adicione a pública onde precisar, e nunca compartilhe a privada.

O resto você aprende conforme a necessidade aparece.🚀