Domando a fera: como usar o ~/.ssh/config pra nunca mais decorar comando de SSH
Se você tem mais de um servidor pra acessar — o da hospedagem, o de um projeto pessoal, o de um cliente — já deve ter sentido aquela dorzinha de digitar (ou copiar de um bloco de notas perdido) comandos gigantes de SSH toda vez. Calma que a solução é simples, elegante e vive há décadas dentro do próprio SSH: o arquivo ~/.ssh/config. Vamos juntos, com calma, que no fim você vai estar entrando nos seus servidores digitando só um apelido. 😊
Sensei explica: "~" é a sua pasta pessoal no computador (no Linux/Mac fica em/home/seuusuario, no Windows via WSL é parecido). Ou seja, o caminho completo do arquivo é algo como/home/seuusuario/.ssh/config.
1. O que é esse arquivo, afinal?
É um arquivo de texto simples (sem extensão, sem firula) onde você guarda "receitas" de conexão: um apelido (alias) para cada servidor, junto com o endereço, o usuário e outros detalhes daquela conexão. Depois, ao invés de escrever o comando inteiro, você só chama pelo apelido.
Compare os dois comandos abaixo — mesma conexão, formas diferentes de chamar:
- Sem o atalho:
ssh -p 2222 usuario@servidor-cliente-x.exemplo.com - Com o atalho:
ssh clientex
2. Onde e como criar o arquivo
Ele mora dentro da pasta oculta .ssh (que também guarda suas chaves de acesso). Siga os passos:
- Abra o terminal do seu computador (não é o servidor, é a sua máquina mesmo).
- Digite
cd ~/.sshe aperte Enter para entrar na pasta. Se der erro dizendo que a pasta não existe, crie commkdir -p ~/.sshe entre de novo. - Abra (ou crie) o arquivo com o editor de sua preferência, por exemplo:
nano config - Digite o conteúdo (mostramos o modelo no próximo passo), salve e feche.
Dica da Sensei: se você usa o editornano, salva comCtrl+O, Enter, e sai comCtrl+X. Sem mistério.
3. O modelo básico de um "bloco" de servidor
Cada servidor vira um bloquinho assim dentro do arquivo:
Host meuservidor
HostName endereco-do-servidor.com
User meuusuario
Port 22
IdentityFile ~/.ssh/id_ed25519
Explicando cada linha, com carinho:
- Host — o apelido que você escolhe. Pode ser qualquer nome, sem espaço (ex.:
site1,producao,projeto-joao). - HostName — o endereço real do servidor (o domínio ou IP que você usaria no comando completo).
- User — o nome de usuário daquela conta no servidor.
- Port — a porta de conexão (se o seu servidor usa a porta padrão 22, essa linha pode até ser omitida).
- IdentityFile — o caminho da sua chave privada, se você usa autenticação por chave em vez de senha.
Depois de salvo, conectar fica assim, de qualquer lugar do terminal:
ssh meuservidor
4. Gerenciando vários servidores ao mesmo tempo
A beleza do arquivo é que você pode empilhar quantos blocos quiser, um embaixo do outro, sempre separados por uma linha em branco:
Host site-institucional
HostName servidor1.exemplo.com
User cliente1
Host projeto-pessoal
HostName servidor2.exemplo.com
User dev
Port 2222
Host servidor-teste
HostName 200.200.200.1
User root
A partir daí, esquecer qual usuário ou porta usar em cada servidor deixa de ser um problema — o arquivo lembra por você. É só digitar ssh site-institucional, ssh projeto-pessoal ou ssh servidor-teste.
5. Bônus: apelidando também para SFTP e outras ferramentas
Como o apelido fica registrado no sistema como um todo, ele também funciona em ferramentas que usam SSH por baixo dos panos, como o scp (cópia de arquivos) e clientes de SFTP com suporte a "SSH config" (vários programas gráficos de FTP/SFTP conseguem importar esses apelidos automaticamente). Um exemplo de cópia de arquivo usando o apelido:
scp arquivo.zip meuservidor:/caminho/de/destino/
Dica da Sensei: guarde o arquivo ~/.ssh/config como guarda uma receita de família — ele não tem senha nenhuma escrita nele (as senhas e chaves ficam em outro lugar), mas é bom não sair colando o conteúdo dele em qualquer lugar público, já que revela quais servidores você acessa.
6. Erros comuns (e como evitar)
- "Permission denied" ao conectar: confira se o
Usere oIdentityFileestão corretos, e se a chave indicada realmente corresponde àquele servidor. - Atalho "não encontrado": confirme que não há espaço extra ou erro de digitação no nome depois de
Host— ele precisa bater exatamente com o que você digita no comandossh. - Editou e não mudou nada: lembre-se de salvar o arquivo antes de testar a conexão de novo.
E é isso! Com esse arquivinho organizado, gerenciar vários servidores deixa de ser um quebra-cabeça e vira só lembrar de um apelido. Se em algum momento você tiver dúvida sobre qual usuário, porta ou dado de acesso usar no seu servidor GeHost, é só conferir no painel.gehost.com.br ou chamar o nosso suporte — estamos por aqui. 🌱