Qu'est-ce que ~/.ssh/config et pourquoi s'en occuper ?
Si vous vous connectez à plus d'un serveur, vous tapez probablement quelque chose comme `ssh -i ~/.ssh/work_key -p 2222 deploy@10.0.0.20` encore et encore. Un seul fichier `~/.ssh/config` transforme tout ça en `ssh prod`.
Ce builder écrit le fichier pour vous. Choisissez un preset (serveur de production, jump bastion, GitHub, proxy SOCKS, container dev...), ajustez les champs, et le panneau de droite affiche le texte exact à coller dans `~/.ssh/config`. Chaque option a un indice en clair, pas besoin de se souvenir quelles majuscules OpenSSH veut.
Tout tourne dans votre navigateur : pas de clés impliquées, rien d'uploadé, pas de compte. La sortie est du config OpenSSH simple, identique à ce que vous écririez à la main.
Comment l'utiliser
- Commencez avec un preset (serveur de production, bastion, GitHub, proxy SOCKS...). Le formulaire remplit des défauts sensés que vous pouvez ajuster.
- Tapez l'alias d'hôte (le nom court que vous taperez après `ssh`), puis le HostName (la vraie adresse ou IP), User et Port s'il n'est pas 22.
- Ouvrez Identity et pointez IdentityFile sur votre clé privée, par exemple `~/.ssh/id_ed25519`. Activez IdentitiesOnly pour que SSH n'essaie pas chaque clé de votre agent.
- Besoin d'un jump host ? Ouvrez Proxy / jump et mettez `user@bastion` dans ProxyJump. SSH se connectera par le bastion automatiquement.
- Pour le port forwarding, ouvrez Forwarding et ajoutez des lignes comme `8080 localhost:80` à LocalForward (exposer un port distant sur votre machine) ou RemoteForward (exposer un service local sur le serveur).
- Cliquez sur Copy dans le panneau d'aperçu, collez dans `~/.ssh/config` (créez le fichier s'il n'existe pas), et lancez `chmod 600 ~/.ssh/config` pour que SSH lui fasse confiance.
- Ajoutez plus d'entrées avec le bouton Plus en haut. L'aperçu les combine toutes en un fichier, exactement dans l'ordre où elles apparaissent.
Quand c'est utile
Sept situations concrètes où un vrai `ssh config` fait gagner du vrai temps :
- Vous vous connectez à la production chaque jour. Au lieu de `ssh -i ~/.ssh/prod_ed25519 -p 22 deploy@1.2.3.4` vous tapez `ssh prod`. L'auto-complétion marche, l'historique marche, les scripts qui wrappent ssh marchent.
- La cible est derrière un bastion. Définissez `ProxyJump` sur l'hôte interne et SSH saute de manière transparente par le serveur de saut. Plus de connexions manuelles en deux étapes.
- Vous avez des clés séparées pour GitHub et GitLab. Pinnez `IdentityFile` par host pour que la bonne clé soit offerte au bon service. Arrête l'erreur "too many authentication failures" quand SSH essaie chaque clé de votre agent.
- Il vous faut un port local forwardé pour le développement. Ajoutez une ligne `LocalForward 5432 localhost:5432` et votre Postgres sur le serveur apparaît sur votre laptop. Pas besoin de VPN.
- Vous voulez un proxy SOCKS pour naviguer à travers un serveur. `DynamicForward 1080` plus Firefox réglé sur localhost:1080 et votre trafic sort depuis la machine distante. Utile pour les dashboards bloqués par région.
- Vous gérez 30+ hôtes. Groupez-les avec des patterns `Host prod-*` (ce builder écrit un seul host à la fois, mais le format de fichier supporte les jokers, collez les blocs supplémentaires à la main par-dessus).
- Vous voulez exposer un service local à une box publique (pensez à un ngrok classique). `RemoteForward 8080 localhost:3000` sur un serveur publiquement accessible et le port 3000 de votre laptop est joignable sur le serveur au port 8080.