SSH & Avançado 28 visualizações

Como usar o arquivo ~/.ssh/config para gerenciar atalhos de múltiplos servidores

Ver no WHMCS

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:

  1. Abra o terminal do seu computador (não é o servidor, é a sua máquina mesmo).
  2. Digite cd ~/.ssh e aperte Enter para entrar na pasta. Se der erro dizendo que a pasta não existe, crie com mkdir -p ~/.ssh e entre de novo.
  3. Abra (ou crie) o arquivo com o editor de sua preferência, por exemplo: nano config
  4. Digite o conteúdo (mostramos o modelo no próximo passo), salve e feche.
Dica da Sensei: se você usa o editor nano, salva com Ctrl+O, Enter, e sai com Ctrl+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 User e o IdentityFile estã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 comando ssh.
  • 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. 🌱

Precisa de Ajuda?

Nossa equipe está pronta para resolver suas dúvidas.