Gerenciando sessões SSH com arquivo config

Leandro de Lima Camargo
3 min readJan 5, 2020

--

Existem diversas maneiras e softwares onde você pode gerenciar sessões SSH. Como Sysadmin, provavelmente você terá dezenas ou centenas de hosts para acessar periodicamente, chegando a ficar complicado de certa forma lembrar de todos nomes DNS, portas, chaves SSH, etc. Entra em cena então um arquivo que pode te ajudar com esta tarefa. Vamos ver como ele funciona.

Exemplo de arquivo config

Imagine ter que acessar seu servidor todos os dias da seguinte forma:

ssh -l fulano -i /home/fulano/.ssh/chaves/id_rsa meuservidor.meudominio.com.br -p 1234

Onde:

  • -l : Usuário
  • -i : Chave SSH
  • -p: Porta

Até aí tudo bem, certo? Agora imagine ter que realizar esse procedimento para cerca de 20 servidores diariamente. Sem contar que alguns poderão utilizar usuários diferentes, portas diferentes e até mesmo chaves diferentes. E se ao invés de digitar todo esse comando para cada host, você digitar apenas:

ssh meuservidor

É isso que o arquivo config faz. Ele armazena todos os parâmetros necessários para cada host e você conecta através de um alias. Vamos criar ele e ver isto na prática!

O arquivo deve ser criado no diretório .ssh/ do usuário que irá utilizá-lo. Caso você prefira criar em outro diretório de sua preferência, você pode buscar ele através do parâmetro -F, do comando ssh.

Levando em consideração que temos um servidor com nome DNS meuservidor.meudominio.com.br e é acessível pelo usuário root, vamos criar uma configuração básica para entender o funcionamento.

A primeira linha informa qual será o alias. Abaixo vem o hostname completo do servidor e o usuário utilizado.

Sem o arquivo config, o acesso é desta forma:

ssh -l root meuservidor.meudominio.com.br

Com o arquivo config, o acesso fica desta forma:

ssh meuservidor

Acredito que já tenha ficado claro qual o real motivo para utilizar o arquivo config. Vamos ver mais opções agora.

Caso o servidor escute em uma porta diferente (O que é uma recomendação primordial de segurança), você pode informar diretamente no arquivo também:

Chave SSH? Também temos!

São várias opções de configurações que você pode consultar cada uma em: https://www.ssh.com/ssh/config

Exemplo de configuração para vários hosts:

Veja que todos os hosts utilizam a mesma chave SSH. Vamos simplificar isto:

Também podemos armazenar servidores que não possuem um nome DNS:

Há diversas formas de configurar este arquivo. Além de vários parâmetros disponíveis nas conexões SSH, você também pode utilizar alguns caracteres especiais neste arquivo (Como o *) para unificar alguns parâmetros da melhor forma possível.

Aqui está apenas o básico e que pode lhe ajudar em seu dia-a-dia de Sysadmin. Espero que seja de grande ajuda! ;)

Até a próxima!

--

--