module

Beryl::KnownHosts

Oubli des clés d'hôte d'un serveur réinstallé dans le known_hosts de l'opérateur.

beryl lui-même n'en dépend pas (le shard ssh force UserKnownHostsFile=/dev/null), mais les ssh interactifs de l'opérateur, si : après un rescue ou un bootstrap, la clé d'hôte change et ssh refuse la connexion (« REMOTE HOST IDENTIFICATION HAS CHANGED »).

Les entrées sont retirées par ssh-keygen -R, qui gère les noms hachés (HashKnownHosts) et retire la ligne entière (nom,ip clé). Le travail se fait sur une copie : le fichier n'est réécrit qu'une fois, et known_hosts.old garde l'état d'avant (pas l'avant-dernier nom traité, comme le ferait une suite de ssh-keygen -R directs).

Class methods

default_path
Source
forget(names : Array(String), port : Int32 = 22, path : String = default_path) : Array(String)

Retire de path toutes les entrées de names (sur port). Renvoie les noms effectivement trouvés (vide si aucun, ou si le fichier n'existe pas). Lève IO::Error si ssh-keygen manque ou échoue.

Source
patterns(names : Array(String), port : Int32) : Array(String)

Formes sous lesquelles ssh enregistre un nom : nom sur le port 22, [nom]:port sinon. Les deux sont retirées quel que soit le port courant (le port a pu changer d'une installation à l'autre).

Source