Wie kann verhindert werden, dass OpenSSH bei jeder Aktualisierung eine neue known_hosts-Datei erstellt?

Wie kann verhindert werden, dass OpenSSH bei jeder Aktualisierung eine neue known_hosts-Datei erstellt?

Es scheint, dass ssh (ich habe 8.6p1 und 9.3p2 getestet) jedes Mal, wenn ich einen neuen Hostschlüssel akzeptiere, die folgenden Schritte ausführt:

  • Verschieben Sie die known_hostsDatei nach known_hosts.old;
  • Erstellen Sie eine neue known_hostsDatei;
  • Kopieren Sie den Inhalt von known_hosts.oldnach known_hosts;
  • Fügen Sie den neuen Eintrag dem neuen hinzu known_hosts.

Alles schön und gut, außer dass ich, wie viele andere auch, meine Dotfiles unter Versionskontrolle gestellt habe. Die known_hostsDatei ist ein Link zu einer Datei in meinem Git-Repository. Wenn ich einen Host-Schlüssel auf meinem Desktop akzeptiert habe, möchte ich schließlich keinen MITM riskieren, wenn ich mich von meinem Laptop aus mit demselben Host verbinde. Das ist schließlich der ganze Sinn der known_hosts-Datei.

Das obige Verfahren, gefolgt von SSH, funktioniert nicht gut: Nachdem ich einen neuen Host akzeptiert habe, wird dieser mit known_hosts.oldeinem Link zu meiner versionskontrollierten Datei angezeigt, die nie aktualisiert wird.

Wie sage ich, sshdass ich bitte mit dem Erstellen aufhören known_hosts.oldund direkt bearbeiten soll known_hosts? Ich brauche eine so grobe Sicherungsmethode sowieso nicht – die Datei steht bereits unter Versionskontrolle. Ich habe TFM durchgesehen, aber keine solche Option gefunden.

Antwort1

Es scheint, als sei es im Quellcode fest codiert, eine Möglichkeit besteht also darin, es Ihren Anforderungen entsprechend umzuschreiben (nicht empfohlen).

verwandte Informationen