SSH Config Generator
Genera entradas ~/.ssh/config para múltiples hosts con configuración personalizada.
Host myserver HostName 192.168.1.100 User ubuntu IdentityFile ~/.ssh/id_rsa ServerAliveInterval 60
Cómo usar:
- Guarda la salida en ~/.ssh/config
- Ejecuta: chmod 600 ~/.ssh/config
- Conecta con: ssh <HostAlias>
Acerca de esta herramienta
SSH Config Generator simplifica el proceso de gestión de múltiples conexiones SSH al generar entradas ~/.ssh/config de forma programática. En lugar de editar manualmente tu archivo de configuración SSH y memorizar aliases de host, direcciones IP y rutas de clave para cada servidor, esta herramienta te permite definir todos tus hosts SSH en un formato estructurado y generar el archivo de configuración completo en segundos. Tener una configuración SSH bien organizada es esencial para desarrolladores, administradores de sistemas e ingenieros DevOps que se conectan frecuentemente a diferentes servidores.
Para usar la herramienta, ingresa tus hosts SSH con sus configuraciones correspondientes—como nombre de host, puerto, nombre de usuario, ruta del archivo de identidad y cualquier opción SSH adicional. El generador formatea automáticamente estas entradas de acuerdo con la sintaxis de configuración SSH y muestra la salida, que luego puedes copiar directamente en tu archivo ~/.ssh/config o agregar a tu configuración existente. Este enfoque elimina errores de sintaxis y asegura un formato consistente en todas tus definiciones de host, sin importar cuántos servidores administres.
Preguntas Frecuentes
Implementación 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.