SSH Config Generator
Gere entradas ~/.ssh/config para múltiplos hosts com configurações personalizadas.
Host myserver HostName 192.168.1.100 User ubuntu IdentityFile ~/.ssh/id_rsa ServerAliveInterval 60
Como usar:
- Salve a saída em ~/.ssh/config
- Execute: chmod 600 ~/.ssh/config
- Conecte com: ssh <HostAlias>
Sobre esta ferramenta
SSH Config Generator simplifica o processo de gerenciamento de múltiplas conexões SSH ao gerar entradas ~/.ssh/config de forma programática. Em vez de editar manualmente seu arquivo de configuração SSH e memorizar aliases de host, endereços IP e caminhos de chave para cada servidor, esta ferramenta permite que você defina todos os seus hosts SSH em um formato estruturado e gere o arquivo de configuração completo em segundos. Ter um SSH config bem organizado é essencial para desenvolvedores, administradores de sistemas e engenheiros DevOps que se conectam frequentemente a diferentes servidores.
Para usar a ferramenta, insira seus hosts SSH com as configurações correspondentes—como nome do host, porta, nome de usuário, caminho do arquivo de identidade e qualquer opção SSH adicional. O gerador formata automaticamente essas entradas de acordo com a sintaxe de configuração SSH e exibe a saída, que você pode então copiar diretamente em seu arquivo ~/.ssh/config ou adicionar à sua configuração existente. Essa abordagem elimina erros de sintaxe e garante formatação consistente em todas as suas definições de host, independentemente de quantos servidores você gerencia.
Perguntas Frequentes
Implementação de Código
import paramiko
# SSH with config file support using Paramiko
config = paramiko.SSHConfig()
with open('/home/user/.ssh/config') as f:
config.parse(f)
host_config = config.lookup('myserver')
print(host_config)
# {'hostname': '192.168.1.100', 'user': 'ubuntu', 'port': '22'}
# Connect using resolved config
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(
hostname=host_config['hostname'],
username=host_config.get('user', 'root'),
port=int(host_config.get('port', 22)),
key_filename=host_config.get('identityfile', [None])[0]
)
stdin, stdout, stderr = client.exec_command('uptime')
print(stdout.read().decode())
client.close()Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.