Configurar chave SSH na VPS
Autenticação por chave SSH é mais segura que senha por dois motivos: a chave privada nunca trafega pela rede (só a pública fica no servidor) e é computacionalmente impossível adivinhar por força bruta. Configurar chaves SSH é o primeiro passo de segurança em qualquer VPS nova — e elimina a inconveniência de digitar senha a cada acesso.
Gerar o par de chaves no seu computador
O par de chaves é gerado localmente — a chave privada fica no seu computador, a pública vai para a VPS. Nunca compartilhe a chave privada:
# Gerar chave Ed25519 (mais moderna e segura)
ssh-keygen -t ed25519 -C "sua@email.com"
# Quando perguntar onde salvar: pressione Enter (padrão ~/.ssh/id_ed25519)
# Defina uma passphrase (recomendado) ou deixe vazia
# Alternativa: RSA 4096 (maior compatibilidade com sistemas antigos)
ssh-keygen -t rsa -b 4096 -C "sua@email.com"
# Ver as chaves geradas
ls ~/.ssh/
# id_ed25519 (chave PRIVADA — nunca compartilhe)
# id_ed25519.pub (chave PÚBLICA — vai para a VPS)
# Ver o conteúdo da chave pública
cat ~/.ssh/id_ed25519.pubCopiar a chave pública para a VPS
Com a chave gerada, copie a chave pública para o servidor. O ssh-copy-id automatiza isso com segurança:
# Método 1: ssh-copy-id (mais simples — requer senha por enquanto)
ssh-copy-id -i ~/.ssh/id_ed25519.pub usuario@IP_DA_VPS
# Método 2: manual (se ssh-copy-id não estiver disponível)
# Na VPS, como root ou o usuário de destino:
mkdir -p ~/.ssh
chmod 700 ~/.ssh
echo "CONTEUDO_DA_CHAVE_PUBLICA" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
# Método 3: via painel Runstack
# Settings → SSH Keys → Add Key
# Cole o conteúdo de ~/.ssh/id_ed25519.pub
# A chave será adicionada automaticamente em novas VPSTestar e configurar o SSH config local
Após copiar a chave, teste o login e configure um alias no arquivo ~/.ssh/config para simplificar o acesso:
# Testar login com chave (não deve pedir senha da VPS)
ssh usuario@IP_DA_VPS
# Configurar alias no ~/.ssh/config (no seu computador local)
cat >> ~/.ssh/config << 'EOF'
Host runstack-prod
HostName IP_DA_VPS
User deploy
IdentityFile ~/.ssh/id_ed25519
Port 22
Host runstack-dev
HostName IP_DA_VPS_2
User deploy
IdentityFile ~/.ssh/id_ed25519
EOF
# Agora conecte simplesmente com:
ssh runstack-prodDesabilitar autenticação por senha no servidor
Com a chave funcionando, desabilite a autenticação por senha para bloquear ataques de força bruta:
# Na VPS, editar /etc/ssh/sshd_config
sudo nano /etc/ssh/sshd_config
# Localizar e alterar as linhas:
# PasswordAuthentication no
# PubkeyAuthentication yes
# AuthorizedKeysFile .ssh/authorized_keys
# PermitRootLogin prohibit-password
# Ou fazer via sed:
sudo sed -i 's/^PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config
sudo sed -i 's/^#PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config
# Testar a configuração antes de recarregar
sudo sshd -t && echo "Configuração OK"
# Recarregar o SSH (sem derrubar sessões ativas)
sudo systemctl reload sshdGerenciar múltiplas chaves e revogar acesso
Para equipes, cada membro tem sua chave pública no authorized_keys. Revogar acesso é simples:
# Ver todas as chaves autorizadas
cat ~/.ssh/authorized_keys
# Cada linha é uma chave: "tipo chave comentario"
# Ex: ssh-ed25519 AAAAC3Nza... joao@empresa.com
# ssh-ed25519 AAAAC3Nzb... maria@empresa.com
# Revogar acesso: remover a linha da chave do usuário
# Usando grep para encontrar e sed para remover:
sed -i '/joao@empresa.com/d' ~/.ssh/authorized_keys
# Forçar desconexão de sessões ativas do usuário revogado
# (verificar PID com 'who' e matar com 'kill')
who
sudo pkill -u joao # se o usuário tiver conta no sistema$ runstack deploy --plan starter
Não quer configurar manualmente?
Não quer configurar manualmente? Implante o VPS em menos de 3 minutos com a Runstack. Infraestrutura da OPEN DATACENTER, com servidores no Brasil.