---
title: "Arquivo ssh config: acesse vários servidores com um nome curto"
description: "Configure o arquivo ~/.ssh/config com Host, HostName, User, IdentityFile e ProxyJump para conectar em vários servidores com nome curto, no Linux e no Windows."
url: "https://streethosting.com.br/guias/vps/ssh-config-varios-servidores"
category: "vps"
slug: "ssh-config-varios-servidores"
datePublished: "2026-11-13"
dateModified: "2026-11-13"
author: "Equipe StreetHosting"
difficulty: "iniciante"
language: "pt-BR"
keywords:
  - "ssh config"
  - "arquivo ssh config"
  - "ssh proxyjump"
  - "ssh identityfile"
  - "alias ssh servidor"
  - "ssh config windows"
---

# Como usar o arquivo ssh config para acessar vários servidores com apelidos

Chega de decorar IP, porta e caminho da chave. Com um bloco por servidor no arquivo ssh config, você conecta com ssh prod e o mesmo apelido funciona no scp, no rsync e no VS Code.

> **Resposta rápida**
>
> O arquivo `~/.ssh/config` (no Windows, `C:\Users\seunome\.ssh\config`) guarda um bloco `Host` por servidor, com `HostName`, `User`, `Port` e `IdentityFile`. Depois você conecta só com `ssh prod`, em vez de digitar usuário, IP, porta e chave. O mesmo apelido vale no `scp`, no `rsync` e no VS Code.

## Para que serve o ssh config

Quem tem uma VPS acaba digitando algo assim todo dia: `ssh -i ~/.ssh/id_ed25519_vps -p 2222 deploy@203.0.113.10`. Com dois ou três servidores, cada um com usuário, porta e chave diferentes, o comando vira uma fonte de erro e de colinha no bloco de notas.

O cliente SSH lê um arquivo de configuração a cada conexão. Nele você descreve cada servidor uma vez e dá um apelido curto. A partir daí, o comando fica `ssh prod`. Esse arquivo fica no seu computador, o cliente, e não no servidor. Ele não muda nada na VPS e não afeta quem mais conecta nela.

Este guia parte do princípio de que você já tem uma chave SSH. Se ainda não tem, veja [como configurar a chave SSH no Windows](https://streethosting.com.br/guias/vps/configurar-chave-ssh-windows) ou o guia de [chave SSH sem senha na VPS](https://streethosting.com.br/guias/vps/configurar-chave-ssh-sem-senha-vps).

## Seu primeiro bloco Host

O arquivo mora em lugares diferentes conforme o sistema:

| Sistema | Caminho do arquivo |
| --- | --- |
| Linux e macOS | ~/.ssh/config |
| Windows | C:\Users\seunome\.ssh\config |

Se o arquivo não existir, crie. No Linux e no macOS: `mkdir -p ~/.ssh && nano ~/.ssh/config`. No Windows, abra o PowerShell e rode as três linhas abaixo. Elas criam a pasta e o arquivo vazio, com o nome exato **config** e sem .txt no fim, e abrem o arquivo no Bloco de Notas. Se ele já existir, a segunda linha só mostra um aviso e não apaga nada.

```
New-Item -ItemType Directory -Force $env:USERPROFILE\.ssh
New-Item -ItemType File $env:USERPROFILE\.ssh\config
notepad $env:USERPROFILE\.ssh\config
```

Um bloco para um servidor:

```
Host prod
    HostName 203.0.113.10
    User deploy
    Port 22
    IdentityFile ~/.ssh/id_ed25519
    IdentitiesOnly yes
    ServerAliveInterval 60
```

- **Host:** o apelido que você digita. Pode ser qualquer palavra sem espaço: prod, loja, bot.
- **HostName:** o endereço real, um IP ou um domínio.
- **User:** o usuário do login, para você não precisar escrever usuario@ antes do endereço.
- **Port:** a porta do SSH. Só é necessário se não for a 22, mas deixar escrito ajuda a lembrar.
- **IdentityFile:** o caminho da chave privada, a que não tem a extensão .pub.
- **IdentitiesOnly yes:** o SSH usa só essa chave. Sem isso ele pode tentar todas as chaves do agente, e o servidor corta a conexão depois de poucas tentativas com o erro `Too many authentication failures`.
- **ServerAliveInterval 60:** a cada 60 segundos o cliente manda um sinal para o servidor. Isso evita que roteadores e firewalls derrubem uma sessão parada.

Salve e teste com `ssh prod`. Se algo estiver estranho, o comando `ssh -G prod` mostra todas as opções que o SSH vai aplicar, sem conectar.

> **Dica**
>
> No Windows, prefira escrever os caminhos de chave com barra normal, como `C:/Users/seunome/.ssh/id_ed25519`, ou no formato com til, como `~/.ssh/id_ed25519`, que o OpenSSH do Windows também entende.

## Vários servidores e chaves

Cada servidor ganha o próprio bloco. Separe as chaves por projeto ou por cliente: se uma vazar, só um ambiente fica exposto.

```
Host prod
    HostName 203.0.113.10
    User deploy
    IdentityFile ~/.ssh/id_ed25519_prod
    IdentitiesOnly yes

Host staging
    HostName 203.0.113.20
    User deploy
    Port 2222
    IdentityFile ~/.ssh/id_ed25519_staging
    IdentitiesOnly yes

Host bot
    HostName bot.exemplo.com.br
    User root
    IdentityFile ~/.ssh/id_ed25519_bot
    IdentitiesOnly yes
```

Agora `ssh staging` entra na porta 2222 com a chave certa, sem você lembrar de nada disso. Para ver quais apelidos existem, rode `grep "^Host " ~/.ssh/config` no Linux ou macOS. O fato de a porta ser diferente da 22 é uma das medidas descritas em [SSH seguro na VPS](https://streethosting.com.br/guias/vps/ssh-seguro-vps-linux), e o arquivo de configuração é justamente o que torna essa medida confortável de usar.

## Servidor atrás de outro

Em algumas redes, só um servidor aceita SSH vindo da internet, o chamado bastion, e os outros só respondem a ele. Para chegar no servidor interno você precisaria conectar no primeiro e, de lá, no segundo. O ProxyJump faz esse salto sozinho:

```
Host bastion
    HostName 203.0.113.10
    User deploy
    IdentityFile ~/.ssh/id_ed25519_prod
    IdentitiesOnly yes

Host interno
    HostName 10.0.0.15
    User deploy
    ProxyJump bastion
    IdentityFile ~/.ssh/id_ed25519_prod
    IdentitiesOnly yes
```

Ao rodar `ssh interno`, o seu SSH abre a conexão com o bastion e, por dentro dela, abre a conexão com o servidor interno. Nada é gravado no bastion: sua chave privada fica só no seu computador, e o bastion apenas repassa o tráfego. O endereço de HostName do servidor interno é o que o *bastion* enxerga, por isso pode ser um IP de rede privada. Para um salto pontual, sem mexer no arquivo, use `ssh -J deploy@203.0.113.10 deploy@10.0.0.15`.

> **Atenção**
>
> Evite usar o ForwardAgent para chegar no servidor interno. Ele deixa o agente de chaves acessível no bastion, e quem for root lá consegue usar suas chaves enquanto você está conectado. O ProxyJump resolve o mesmo problema sem esse risco.

## Configurações para todos

O bloco `Host *` vale para qualquer servidor e serve para o que é comum a todos. Ele vai no **fim** do arquivo, porque o SSH usa o primeiro valor que encontra para cada opção, lendo de cima para baixo. Se o curinga viesse primeiro, ele ganharia dos blocos específicos.

```
Host *
    ServerAliveInterval 60
    ServerAliveCountMax 3
    AddKeysToAgent yes
    IdentitiesOnly yes
```

- **ServerAliveCountMax 3:** depois de 3 sinais sem resposta, o cliente encerra a sessão em vez de ficar travado. Com o intervalo de 60 segundos, isso dá cerca de 3 minutos.
- **AddKeysToAgent yes:** na primeira vez que você usa uma chave com senha, ela é guardada no agente de chaves, se ele estiver rodando, e a senha não é pedida de novo enquanto o agente estiver ativo.

Também dá para usar padrões no nome, como `Host web1 web2 web3` ou `Host *.exemplo.com.br`, para repetir o mesmo usuário e a mesma chave em uma frota de máquinas.

## scp, rsync e VS Code

O apelido não vale só para o comando ssh. Todo programa que usa o cliente SSH do sistema lê o mesmo arquivo:

```
# enviar um arquivo
scp site.zip prod:/home/deploy/

# baixar uma pasta
scp -r prod:/home/deploy/logs ./logs

# sincronizar uma pasta, só o que mudou
rsync -avz ./dist/ prod:/var/www/site/

# rodar um comando sem abrir sessão
ssh prod "systemctl status app"
```

Nada de usuário, porta ou chave na linha: tudo vem do bloco. O guia de [transferência de arquivos com scp e rsync](https://streethosting.com.br/guias/vps/transferir-arquivos-vps-scp-rsync) detalha as opções de cada um. O VS Code com a extensão Remote - SSH também lista todos os apelidos do arquivo na hora de conectar, o que você vê no guia de [VS Code Remote SSH na VPS](https://streethosting.com.br/guias/vps/vscode-remote-ssh-vps). O mesmo vale para o Git e outras ferramentas que chamam o ssh do sistema.

## Permissões e problemas

O SSH é rígido com permissões porque o arquivo e as chaves definem quem você é. No Linux e no macOS, ajuste assim:

```
chmod 700 ~/.ssh
chmod 600 ~/.ssh/config
chmod 600 ~/.ssh/id_ed25519*
```

Problemas que aparecem com mais frequência:

1. **Bad owner or permissions on**, seguido do caminho do config: no Linux, rode os comandos acima. No Windows, o arquivo precisa pertencer ao seu usuário, e outros usuários não podem ter permissão de escrita nele. Ajuste pelas propriedades do arquivo, na aba Segurança.
2. **O apelido parece ignorado:** confira se o arquivo não ficou como config.txt e rode `ssh -G apelido` para ver o que o SSH aplica de fato.
3. **Permission denied (publickey):** o caminho do IdentityFile está errado, a chave pública não está no servidor ou o User é outro. Rode `ssh -v apelido` e leia quais chaves foram oferecidas.
4. **Opção ignorada porque está no bloco errado:** lembre que vale o primeiro valor encontrado. Blocos específicos vêm antes do `Host *`.

Faça uma cópia do arquivo de tempos em tempos. Ele guarda o mapa de todos os seus servidores, e refazer tudo de memória é chato. Ele não tem senhas, só caminhos, então é seguro versionar em um repositório privado, desde que as chaves privadas fiquem de fora.

## Onde rodar

Nas [VPS da StreetHosting](https://streethosting.com.br/vps) você acessa por SSH com usuário root ou com o usuário que criar, direto no IP dedicado da máquina. Cada VPS vira um bloco no seu arquivo, e o dia a dia com várias máquinas fica a um apelido de distância. O primeiro acesso está em [como acessar a VPS pela primeira vez](https://streethosting.com.br/guias/vps/como-acessar-vps-primeira-vez-ssh).

A VPS Xeon começa em R$ 26,00 por mês, com 2 vCPU, 2 GB de RAM e 20 GB NVMe. Todas ficam em São Paulo, com AntiDDoS incluso, até 5 TB de tráfego por mês e ativação em cerca de 60 segundos depois do Pix ou do cartão aprovado.

## Perguntas frequentes

### Onde fica o arquivo ssh config no Windows?

Em C:\Users\seunome\.ssh\config, sem extensão. Se você criar pelo Bloco de Notas, confira se ele não salvou como config.txt, porque nesse caso o SSH ignora o arquivo.

### Preciso de permissão especial no arquivo?

No Linux e no macOS, use chmod 600 ~/.ssh/config e chmod 700 ~/.ssh. O SSH recusa o arquivo se outros usuários puderem escrever nele. No Windows, o arquivo deve pertencer ao seu usuário, e outros usuários não podem ter permissão de escrita nele.

### Para que serve o IdentitiesOnly?

Ele faz o SSH oferecer só a chave indicada em IdentityFile, e não todas as que estão no agente. Sem isso, quem tem muitas chaves pode levar o erro Too many authentication failures antes de chegar na certa.

### O ProxyJump exige instalar algo no servidor intermediário?

Não. O servidor intermediário só precisa aceitar sua conexão SSH, permitir o encaminhamento TCP, que vem ligado por padrão no OpenSSH, e conseguir alcançar o destino. O seu computador abre um túnel por ele, e as chaves privadas continuam apenas com você.

### Como ver qual configuração o SSH está aplicando?

Rode ssh -G apelido. Ele imprime todas as opções que valem para aquele host depois de juntar os blocos, sem conectar. Para ver a conexão em detalhe, use ssh -v apelido.

## Guias relacionados

- [Configurar chave SSH no Windows para acessar a VPS](https://streethosting.com.br/guias/vps/configurar-chave-ssh-windows.md)
- [Como configurar chave SSH sem senha na VPS](https://streethosting.com.br/guias/vps/configurar-chave-ssh-sem-senha-vps.md)
- [VS Code Remote SSH: edite e rode código direto na sua VPS](https://streethosting.com.br/guias/vps/vscode-remote-ssh-vps.md)
- [Como transferir arquivos para a VPS com SCP e rsync](https://streethosting.com.br/guias/vps/transferir-arquivos-vps-scp-rsync.md)
- [SSH seguro em VPS Linux: chaves, senhas, fail2ban e hábitos que evitam invasão](https://streethosting.com.br/guias/vps/ssh-seguro-vps-linux.md)

## Produtos citados

- https://streethosting.com.br/vps

## Dados estruturados

```json
[
  {
    "@context": "https://schema.org",
    "@type": [
      "Article",
      "TechArticle"
    ],
    "headline": "Como usar o arquivo ssh config para acessar vários servidores com apelidos",
    "name": "Arquivo ssh config: acesse vários servidores com um nome curto",
    "abstract": "Chega de decorar IP, porta e caminho da chave. Com um bloco por servidor no arquivo ssh config, você conecta com ssh prod e o mesmo apelido funciona no scp, no rsync e no VS Code.",
    "description": "Configure o arquivo ~/.ssh/config com Host, HostName, User, IdentityFile e ProxyJump para conectar em vários servidores com nome curto, no Linux e no Windows.",
    "datePublished": "2026-11-13",
    "dateModified": "2026-11-13",
    "author": {
      "@type": "Organization",
      "name": "Equipe StreetHosting"
    },
    "publisher": {
      "@type": "Organization",
      "name": "StreetHosting",
      "url": "https://streethosting.com.br"
    },
    "inLanguage": "pt-BR",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://streethosting.com.br/guias/vps/ssh-config-varios-servidores"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "Onde fica o arquivo ssh config no Windows?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Em C:\\Users\\seunome\\.ssh\\config, sem extensão. Se você criar pelo Bloco de Notas, confira se ele não salvou como config.txt, porque nesse caso o SSH ignora o arquivo."
        }
      },
      {
        "@type": "Question",
        "name": "Preciso de permissão especial no arquivo?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "No Linux e no macOS, use chmod 600 ~/.ssh/config e chmod 700 ~/.ssh. O SSH recusa o arquivo se outros usuários puderem escrever nele. No Windows, o arquivo deve pertencer ao seu usuário, e outros usuários não podem ter permissão de escrita nele."
        }
      },
      {
        "@type": "Question",
        "name": "Para que serve o IdentitiesOnly?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Ele faz o SSH oferecer só a chave indicada em IdentityFile, e não todas as que estão no agente. Sem isso, quem tem muitas chaves pode levar o erro Too many authentication failures antes de chegar na certa."
        }
      },
      {
        "@type": "Question",
        "name": "O ProxyJump exige instalar algo no servidor intermediário?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Não. O servidor intermediário só precisa aceitar sua conexão SSH, permitir o encaminhamento TCP, que vem ligado por padrão no OpenSSH, e conseguir alcançar o destino. O seu computador abre um túnel por ele, e as chaves privadas continuam apenas com você."
        }
      },
      {
        "@type": "Question",
        "name": "Como ver qual configuração o SSH está aplicando?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Rode ssh -G apelido. Ele imprime todas as opções que valem para aquele host depois de juntar os blocos, sem conectar. Para ver a conexão em detalhe, use ssh -v apelido."
        }
      }
    ]
  }
]
```
