Beryl::SshConfig
Accès SSH « à la main » à TOUS les hosts gérés par beryl : un fichier par
société, ~/.ssh/beryl--<société>.conf, inclus en tête de ~/.ssh/config
(Include beryl--*.conf). Chaque host y est joignable par son FQDN et par
son nom court ; un host CACHÉ derrière le vRack l'est par son IP vRack et un
ProxyCommand qui essaie son bastion préféré puis les autres
(ResolvedHost#proxy_jumps) — même repli que les connexions de beryl. Les
sauts lisent VOTRE config ssh (clé, agent) comme un ssh ordinaire.
Constants
Fichiers générés (un par société) et ligne d'inclusion (chemin relatif à
~/.ssh, motif accepté par Include).
Délai par bastion avant de passer au suivant.
Ancien fichier unique (0.6.124), remplacé par les fichiers par société.
Instance methods
Options ssh -o … du rebond pour un ssh système : ProxyJump s'il n'y
a qu'un bastion, sinon ProxyCommand à replis. Vide sans rebond. Pur.
Ancien fichier unique à retirer : seulement s'il est bien de beryl. Pur.
sh -c '…' qui essaie chaque bastion dans l'ordre (ssh -W %h:%p) et
annonce le repli sur stderr. sh -c : ssh lance la commande par exec,
qui ne garderait pas les ||. Pur.
Contenu des fichiers, par société (noms triés, hosts triés par FQDN).
Un bloc par host, commun au FQDN et au nom court : adresse, port, user et
clé de la fiche, rebond (un user en ligne de commande, ssh deploy@ke,
l'emporte toujours). Nom court présent dans deux sociétés : FQDN seul.
Hosts en ssh_config: false écartés.
~/.ssh/config avec l'Include en tête (l'ancien Include beryl.conf
retiré), ou nil s'il n'y a rien à changer. En tête : hors de tout bloc
Host (un Include dedans n'y vaudrait que pour ce bloc), et premières
valeurs lues = celles qui l'emportent. Pur.