Aller au contenu
🛠️ToolsShed

SSH Config Generator

Générer les entrées ~/.ssh/config pour plusieurs hôtes avec paramètres personnalisés.

Entrée d'hôte 1
~/.ssh/config
Host myserver
  HostName 192.168.1.100
  User ubuntu
  IdentityFile ~/.ssh/id_rsa
  ServerAliveInterval 60

Mode d'emploi :

  1. Enregistrez la sortie dans ~/.ssh/config
  2. Exécutez : chmod 600 ~/.ssh/config
  3. Connectez-vous avec : ssh <HostAlias>

À propos de cet outil

SSH Config Generator simplifie le processus de gestion de multiples connexions SSH en générant des entrées ~/.ssh/config de manière programmatique. Au lieu de modifier manuellement votre fichier de configuration SSH et de mémoriser les alias d'hôtes, les adresses IP et les chemins de clé pour chaque serveur, cet outil vous permet de définir tous vos hôtes SSH dans un format structuré et de générer le fichier de configuration complet en quelques secondes. Disposer d'une configuration SSH bien organisée est essentiel pour les développeurs, les administrateurs système et les ingénieurs DevOps qui se connectent fréquemment à différents serveurs.

Pour utiliser l'outil, entrez vos hôtes SSH avec leurs paramètres correspondants—tels que le nom d'hôte, le port, le nom d'utilisateur, le chemin du fichier d'identité et toute option SSH supplémentaire. Le générateur formate automatiquement ces entrées selon la syntaxe de configuration SSH et affiche la sortie, que vous pouvez ensuite copier directement dans votre fichier ~/.ssh/config ou ajouter à votre configuration existante. Cette approche élimine les erreurs de syntaxe et assure un formatage cohérent dans toutes vos définitions d'hôtes, quel que soit le nombre de serveurs que vous gérez.

Questions Fréquentes

Implémentation du Code

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.