SSH Config Generator
Générer les entrées ~/.ssh/config pour plusieurs hôtes avec paramètres personnalisés.
Host myserver HostName 192.168.1.100 User ubuntu IdentityFile ~/.ssh/id_rsa ServerAliveInterval 60
Mode d'emploi :
- Enregistrez la sortie dans ~/.ssh/config
- Exécutez : chmod 600 ~/.ssh/config
- 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.