Deploy automático via SSH: o script que trabalha por você 🥋
Oi! Aqui é a Sensei da GeHost. Hoje vou te ensinar uma mágica que separa quem sobe site "no susto" (arrastando arquivo por arquivo) de quem tem um fluxo profissional: automatizar o deploy do seu site usando um script via SSH. Parece complicado, mas prometo que, seguindo o passo a passo com calma, você entende a lógica e nunca mais vai querer voltar ao jeito manual.
Este guia é da categoria SSH & Avançado — se você nunca usou o terminal antes, não tem problema, vou te guiar com carinho, mas talvez valha revisar antes um guia introdutório de SSH da nossa base de conhecimento.
O que é "automatizar o deploy"?
"Deploy" é o nome chique pra "colocar a versão nova do seu site no ar". Em vez de você entrar no Gerenciador de Arquivos e subir cada arquivo alterado na mão (o que é lento e fácil de errar), você escreve um script que faz isso sozinho: ele conecta no seu espaço de hospedagem via SSH e copia só o que mudou, de um jeito seguro e repetível.
Pré-requisitos
- Ter acesso SSH liberado no seu plano — confirme isso no painel.gehost.com.br ou fale com nosso suporte, pois a disponibilidade pode variar conforme o plano contratado.
- Um computador com terminal (Linux, macOS ou Windows com PowerShell/Git Bash).
- Seu site já hospedado com a GeHost (a pasta de destino costuma ser a
public_html).
1. Gere sua chave SSH
A chave SSH é como uma "digital digital" — ela permite que seu computador se autentique no servidor sem precisar digitar senha toda hora (e é mais seguro). No terminal, rode:
ssh-keygen -t ed25519 -C "seu-email@exemplo.com"
Isso gera duas chaves: uma privada (fica só no seu computador, nunca compartilhe) e uma pública (essa você registra no servidor).
2. Cadastre a chave pública
Copie o conteúdo da chave pública (geralmente em ~/.ssh/id_ed25519.pub) e cadastre-a no gerenciamento de chaves SSH do seu painel de hospedagem. Se tiver qualquer dúvida em qual tela fica essa opção, nosso suporte te mostra certinho.
3. Teste a conexão
Antes de automatizar qualquer coisa, confirme que a conexão manual funciona:
ssh seu_usuario@seu-dominio.com
Se você conseguiu entrar sem digitar senha, sua chave está funcionando perfeitamente. ✅
4. Escreva o script de deploy
Agora vem a parte boa. Um jeito simples e muito usado é o rsync, que copia só os arquivos que mudaram (rápido e econômico). Crie um arquivo, por exemplo deploy.sh, na pasta do seu projeto local:
#!/bin/bash
# Envia os arquivos locais para o public_html do servidor
rsync -avz --exclude '.git' \
./ seu_usuario@seu-dominio.com:~/public_html/
echo "Deploy concluído!"
Dê permissão de execução ao script:
chmod +x deploy.sh
E, quando quiser publicar uma atualização, é só rodar:
./deploy.sh
Dica da Sensei: sempre use a flag--excludepra não enviar arquivos sensíveis (como.env,.gitou pastas de configuração local) para o servidor. Isso evita dor de cabeça e vazamento de dado sem querer.
5. Se você usa Git no projeto
Se o seu site vive num repositório Git, uma alternativa comum é fazer o script puxar as mudanças direto do repositório dentro do servidor, algo como:
#!/bin/bash
ssh seu_usuario@seu-dominio.com "cd ~/public_html && git pull origin main"
Assim, o próprio servidor busca a versão mais nova do código. Simples e direto.
6. Automatize de vez (opcional)
Depois que o script estiver redondo, você pode:
- Rodar ele manualmente sempre que terminar uma atualização (mais controle);
- Ou integrar num pipeline de CI/CD (como GitHub Actions) que dispara o deploy automaticamente a cada novo commit.
Comece pelo manual até ganhar confiança — automação demais sem entender o processo pode assustar mais do que ajudar.
Boas práticas de segurança 🔐
- Nunca compartilhe sua chave privada com ninguém.
- Faça sempre um backup antes de rodar deploys importantes — você pode gerar um pela área de Backup do seu painel.
- Teste o script primeiro num ambiente ou pasta de testes, se possível, antes de mandar pra produção.
- Revise o que o script está enviando (evite mandar arquivos de configuração sensíveis sem querer).
Precisou de uma ajudinha?
Se travar em algum passo, é só chamar o nosso suporte — lembrando que todo serviço entregue pela GeHost já vem com 30 dias de suporte gratuito após a entrega. Bora automatizar esse deploy e ganhar tempo pra focar no que importa: o seu produto! 🚀