Vai al contenuto
🛠️ToolsShed

SSH Config Generator

Genera voci ~/.ssh/config per più host con impostazioni personalizzate.

Voce host 1
~/.ssh/config
Host myserver
  HostName 192.168.1.100
  User ubuntu
  IdentityFile ~/.ssh/id_rsa
  ServerAliveInterval 60

Come usare:

  1. Salva l'output in ~/.ssh/config
  2. Esegui: chmod 600 ~/.ssh/config
  3. Connettiti con: ssh <HostAlias>

Informazioni sullo strumento

SSH Config Generator semplifica il processo di gestione di più connessioni SSH generando le voci ~/.ssh/config a livello programmatico. Invece di modificare manualmente il file di configurazione SSH e memorizzare alias di host, indirizzi IP e percorsi delle chiavi per ogni server, questo strumento ti consente di definire tutti i tuoi host SSH in un formato strutturato e generare il file di configurazione completo in pochi secondi. Avere una configurazione SSH ben organizzata è essenziale per sviluppatori, amministratori di sistema e ingegneri DevOps che si collegano frequentemente a server diversi.

Per utilizzare lo strumento, inserisci i tuoi host SSH con le impostazioni corrispondenti—come nome host, porta, nome utente, percorso file di identità e qualsiasi opzione SSH aggiuntiva. Il generatore formatta automaticamente queste voci in base alla sintassi della configurazione SSH e visualizza l'output, che puoi quindi copiare direttamente nel tuo file ~/.ssh/config o aggiungere alla tua configurazione esistente. Questo approccio elimina gli errori di sintassi e garantisce una formattazione coerente in tutte le tue definizioni di host, indipendentemente da quanti server gestisci.

Domande Frequenti

Implementazione del Codice

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.