Como usar variáveis de ambiente no SSH para não expor senhas em scripts
Olá, viajante do servidor! 👋
Se você já usou o SSH para automatizar tarefas no seu servidor da GeHost, provavelmente já se deparou com uma dor de cabeça: como deixar scripts seguros sem expor senhas?
Na GeHost, entendemos que segurança é prioridade. Por isso, hoje vamos aprender juntos como usar variáveis de ambiente no SSH para manter suas senhas escondidas — como um verdadeiro ninja da automação. 🌟
O que são variáveis de ambiente?
Imagine que o seu servidor tem uma "memória secreta" onde você pode guardar informações sensíveis — como senhas, chaves de API ou tokens — sem deixá-las visíveis no código.
Essa "memória" é o que chamamos de variáveis de ambiente. Elas são como segredos que o sistema entende, mas que você não precisa escrever em cada script.
Dica ninja: Nunca coloque senhas diretamente em scripts. Isso é como deixar a chave da sua casa em um bilhete colado na porta. 🚫
Passo a passo: Protegendo seus scripts com variáveis de ambiente
-
Conecte-se ao seu servidor via SSH
Use o terminal do seu computador (Linux, macOS ou Windows com WSL) e digite:
ssh usuario@seu-dominio.comSubstitua
usuariopelo seu nome de usuário do cPanel eseu-dominio.compelo domínio da sua hospedagem. -
Crie um arquivo para armazenar suas variáveis
Use o editor
nanopara criar um arquivo chamado.envno diretório raiz do seu site (geralmentepublic_html):nano .envDepois, adicione suas variáveis assim:
DB_PASSWORD=senha_super_secretaAPI_KEY=chave123abcPressione Ctrl + O para salvar e Ctrl + X para sair.
-
Proteja o arquivo .env
É essencial que esse arquivo não fique acessível por outros usuários. Execute:
chmod 600 .envIsso garante que só o dono do arquivo pode ler ou escrever nele.
-
Carregue as variáveis no script
Em qualquer script (em PHP, Bash, Python etc.), você pode carregar essas variáveis usando o comando
source. Por exemplo, em um script Bash:#!/bin/bashsource .envecho "A senha é: $DB_PASSWORD"Assim, o script lê a senha da variável de ambiente — e nunca a vê em texto claro.
-
Use o script com segurança
Quando você rodar o script, ele vai acessar as variáveis sem expor nada no código. É como se o sistema dissesse: “Ah, a senha está lá no segredo… eu sei onde procurar.”
Exemplo prático: Script de backup com senha segura
Suponha que você tenha um script que faz backup de banco de dados. Em vez de colocar a senha diretamente:
#!/bin/bash
# ERRADO: senha exposta!
mysql -u usuario -p"minhasenha123" -h localhost db_nome > backup.sql
Use o source com o arquivo .env:
#!/bin/bash
# CORRETO: senha segura!
source .env
mysql -u usuario -p"$DB_PASSWORD" -h localhost db_nome > backup.sql
Pronto! Sua senha está protegida, e seu script funciona perfeitamente.
Importante: Onde armazenar o .env?
Guarde o arquivo .env dentro do diretório do seu site (como public_html), mas não o deixe acessível via navegador. O chmod 600 já ajuda, mas lembre-se:
- Não envie o
.envpara repositórios como GitHub. - Não o compartilhe com ninguém.
- Use apenas em servidores que você controla.
Sensei diz: “O segredo não está em esconder o arquivo, mas em nunca deixar o segredo escapar do lugar certo.”
Como verificar se está tudo certo?
Depois de configurar, teste seu script com um comando simples:
bash seu_script.sh
Se não der erro e o script funcionar, parabéns! Você está usando variáveis de ambiente como um verdadeiro mestre. 🥷
Próximos passos
Quer ir além? Você pode:
- Usar
exportno início do script para tornar as variáveis disponíveis em todo o ambiente. - Automatizar o carregamento com um arquivo de configuração padrão no
~/.profile(para usuários avançados). - Verificar o status de seus arquivos com
ls -lapara garantir que os privilégios estão corretos.
Se precisar de ajuda, entre em contato com o suporte da GeHost — estamos aqui para te ajudar a navegar com segurança.
Até a próxima, viajante. Lembre-se: proteger dados é cuidar de quem confia em você. 🌿