1001Ferramentas
🔑 Dev

Gerador de ~/.ssh/config

Monta entradas Host para o arquivo SSH config: HostName, User, Port, IdentityFile, ForwardAgent, ProxyJump. Ideal para gerenciar múltiplos servidores.

Pare de digitar ssh cheio de flags

Se conectar ao servidor exige lembrar ssh -i ~/.ssh/chave -p 2222 usuario@ip toda vez, o arquivo ~/.ssh/config resolve: você define um apelido uma vez e passa a digitar só ssh meu-servidor. A sintaxe, porém, tem armadilha: Host é o apelido, HostName é o endereço real, e inverter os dois é erro clássico. Preencha os campos (usuário, porta, chave, ProxyJump) e copie o bloco pronto, formatado como o OpenSSH espera.

O gerador segue a lógica do próprio OpenSSH: opção com valor padrão nem precisa aparecer, então Port 22 é omitido da saída. ProxyJump merece atenção: é o jeito moderno de atravessar um bastion host (o ssh passa pelo intermediário até chegar ao destino) e aposenta os truques antigos com ProxyCommand e netcat. E a ordem no arquivo importa: o OpenSSH usa a primeira ocorrência de cada opção que casar com o host, então blocos específicos devem vir antes dos genéricos.

Cole o bloco no fim do ~/.ssh/config (crie o arquivo se não existir) e deixe o arquivo com permissão 600, assim como a chave privada. Marque ForwardAgent apenas para máquinas em que você confia de verdade: com ele ativo, quem tiver root no servidor consegue usar suas chaves enquanto a sessão durar. A ferramenta apenas formata texto no navegador; nenhum endereço, usuário ou caminho de chave sai da sua máquina.

Perguntas frequentes

Qual a diferença entre Host e HostName?
Host é o apelido que você digita no comando (ssh meu-servidor); HostName é o endereço real (IP ou domínio). Se HostName for omitido, o SSH tenta conectar no próprio apelido.
Para que serve o ProxyJump?
Para alcançar servidores atrás de um bastion: o ssh conecta primeiro no intermediário e de lá salta ao destino, num comando só. Equivale à flag -J.
Posso ter várias entradas no mesmo arquivo?
Sim, quantas quiser, cada uma começando com Host. Gere um bloco por servidor aqui e cole todos em sequência no ~/.ssh/config.

Ferramentas Relacionadas