GitHubs Schlüsselpatzer: Muss ich was tun?
GitHubs Schlüsselpatzer: Muss ich was tun?
Es gab die Meldung das der private RSA Host-Key von Microsoft GitHub öffentlich einsehbar war, daher als kompromitiert gilt und ausgetauscht wurde.
Bei der Frage, ob ich als Microsoft GitHub User jetzt was tun muss, bin ich mir unschlüssig. Die Angaben in dem Artikel dazu entziehen sich meinem Verständnis.
SSH Zugriff? Vermutlich ja. Ich kann git push/pull machen, ohne ein Passwort eingeben zu müssen.
RSA/ECDSA/Ed25519? Da bin ich überfragt. In meinen Account Settings stehen drei Schüssel (weil drei Maschinen/Clients) die alle mit "SSH256" beginnen.
In meinem /.ssh Verzeichnis finde ich mehrere Dateien, die ich nicht zuordnen kann und in denen ich auch keinen Hinweis zu GitHub finde.
Warum interessiert mich der Host key überhaupt? Ich habe doch damals ein eignes Paar generiert und den öffentlichen Teil im GH Account hinterlegt.
EDIT: Da ich mich offensichtlich unklar ausgedrückt habe, versuche ich es nochmal gerade zu rücken. Tatsächlich rührt meine Hin-und-Her-Art zu fragen bzw. der verwirrte Unterton daher, dass ich gewisse Grundlagen zu dem Thema nicht verstanden habe. Dokus zu Keys usw habe ich schon häufiger gelesen. Aber es bleibt ein Thema, bei dem es mir schwer fällt gerade aus zudenken. Um eine passwortlose Anmeldung per SSH einzurichten benötige ich auch heute noch meine Notizen; weil ich das nicht aus dem FF kann und auch nicht verstehe. Solche praktischen und realen Szenarien wie das Problem bei Microsoft GitHub nehme ich daher als gute Gelegenheit etwas am realen Beispiel zu lernen.
Vordergründig möchte ich also etwas lernen und nicht einfach in technisches Problem lösen. Bitte entschuldigt meine unklare Ausdrucksweise.
Bei der Frage, ob ich als Microsoft GitHub User jetzt was tun muss, bin ich mir unschlüssig. Die Angaben in dem Artikel dazu entziehen sich meinem Verständnis.
SSH Zugriff? Vermutlich ja. Ich kann git push/pull machen, ohne ein Passwort eingeben zu müssen.
RSA/ECDSA/Ed25519? Da bin ich überfragt. In meinen Account Settings stehen drei Schüssel (weil drei Maschinen/Clients) die alle mit "SSH256" beginnen.
In meinem /.ssh Verzeichnis finde ich mehrere Dateien, die ich nicht zuordnen kann und in denen ich auch keinen Hinweis zu GitHub finde.
Warum interessiert mich der Host key überhaupt? Ich habe doch damals ein eignes Paar generiert und den öffentlichen Teil im GH Account hinterlegt.
EDIT: Da ich mich offensichtlich unklar ausgedrückt habe, versuche ich es nochmal gerade zu rücken. Tatsächlich rührt meine Hin-und-Her-Art zu fragen bzw. der verwirrte Unterton daher, dass ich gewisse Grundlagen zu dem Thema nicht verstanden habe. Dokus zu Keys usw habe ich schon häufiger gelesen. Aber es bleibt ein Thema, bei dem es mir schwer fällt gerade aus zudenken. Um eine passwortlose Anmeldung per SSH einzurichten benötige ich auch heute noch meine Notizen; weil ich das nicht aus dem FF kann und auch nicht verstehe. Solche praktischen und realen Szenarien wie das Problem bei Microsoft GitHub nehme ich daher als gute Gelegenheit etwas am realen Beispiel zu lernen.
Vordergründig möchte ich also etwas lernen und nicht einfach in technisches Problem lösen. Bitte entschuldigt meine unklare Ausdrucksweise.
Zuletzt geändert von buhtz am 27.03.2023 09:18:47, insgesamt 1-mal geändert.
Debian 11 & 12; Desktop-PC, Headless-NAS, Raspberry Pi 4
Teil des Upstream Betreuer Teams von Back In Time (backintime)
Teil des Upstream Betreuer Teams von Back In Time (backintime)
Re: GitHubs Schlüsselpatzer: Muss ich was tun?
Im verlinkten Artikel steht doch auch, was du tun kannst – nur evtl. musst: „Update für die Betroffenen“.
Für dich ist GitHubs Schlüssel hauptsächlich relevant, um identifizieren zu können, dass du wirklich mit einem GitHub-Server sprichst. Wenn der Server seinen eigenen Schlüssel geändert hat (wie hier passiert) – oder im ungünstigen Fall jemand deine Verbindung böswillig anzwackt – beschwert sich SSH, dass sich der Schlüssel der Gegenseite unerwartet verändert hat. Wie auch in dem von mir verlinkten Abschnitt in dem Artikel zitiert.
Manchmal bekannt als Just (another) Terminal Hacker.
Re: GitHubs Schlüsselpatzer: Muss ich was tun?
Die Frage ob RSA/ECDSA/Ed25519 hat also gar nichts mit meinem Schüsselpaar zu tun oder etwas das inn ~/.ssh liegt?
Debian 11 & 12; Desktop-PC, Headless-NAS, Raspberry Pi 4
Teil des Upstream Betreuer Teams von Back In Time (backintime)
Teil des Upstream Betreuer Teams von Back In Time (backintime)
-
- Beiträge: 938
- Registriert: 22.02.2009 16:19:02
- Lizenz eigener Beiträge: GNU Free Documentation License
- Wohnort: Schweiz
-
Kontaktdaten:
Re: GitHubs Schlüsselpatzer: Muss ich was tun?
Code: Alles auswählen
ssh-keygen -R github.com
Habe nun, ach! Java
Python und C-Sharp,
Und leider auch Visual Basic!
Durchaus programmiert mit heissem Bemühn.
Da steh' ich nun, ich armer Tor!
Und bin so klug als wie zuvor.
Python und C-Sharp,
Und leider auch Visual Basic!
Durchaus programmiert mit heissem Bemühn.
Da steh' ich nun, ich armer Tor!
Und bin so klug als wie zuvor.
Re: GitHubs Schlüsselpatzer: Muss ich was tun?
Lieber paedubucher,
ich halte es für ein Sicherheitsproblem, wenn solche Löschkommandos (-R entfernt keys) ohne Kommentar, Erläuterung oder Warnung hier gepostet werden. Dabei ist es unerheblich, dass dies in dem konkreten Anwendungsfall zu keinen schwerwiegenden Folgen führt.
Ebenso lernen die Lesenden hier nichts bei.
Dein Kommando entfernt den Host-Key zu GitHub. Das war nicht die Frage.
Es ging darum heraus zu finden, ob ich den Key entfernen muss und wie man die ganzen Fachwörter hierbei einordnet. Ich frage, weil ich etwas dazulernen möchte.
Debian 11 & 12; Desktop-PC, Headless-NAS, Raspberry Pi 4
Teil des Upstream Betreuer Teams von Back In Time (backintime)
Teil des Upstream Betreuer Teams von Back In Time (backintime)
-
- Beiträge: 938
- Registriert: 22.02.2009 16:19:02
- Lizenz eigener Beiträge: GNU Free Documentation License
- Wohnort: Schweiz
-
Kontaktdaten:
Re: GitHubs Schlüsselpatzer: Muss ich was tun?
Ich war wohl eher gerade im "hans on"-Modus und nicht im didaktischen Modus. Wenn der Befehl etwas (potenziell) gefährliches machen würde, hätte ich ihn so hier nicht geposted.buhtz hat geschrieben:27.03.2023 09:14:30Lieber paedubucher,
ich halte es für ein Sicherheitsproblem, wenn solche Löschkommandos (-R entfernt keys) ohne Kommentar, Erläuterung oder Warnung hier gepostet werden. Dabei ist es unerheblich, dass dies in dem konkreten Anwendungsfall zu keinen schwerwiegenden Folgen führt.
Ebenso lernen die Lesenden hier nichts bei.
Dein Kommando entfernt den Host-Key zu GitHub. Das war nicht die Frage.
Es ging darum heraus zu finden, ob ich den Key entfernen muss und wie man die ganzen Fachwörter hierbei einordnet. Ich frage, weil ich etwas dazulernen möchte.
Der Host-Key von GitHub, der lokal gespeichert und offenbar einmal manuell als vo github.com stammend akzeptiert worden ist, wurde kompromittiert (bzw. die private Schlüsselhälfte, die dir nicht bekannt ist). GitHub hat den darum ersetzt, eben damit diese Verbindungen nicht mehr funktionieren.
Durch das Entfernen wird man beim nächsten Verbindungsversuch wieder gefragt, ob man dem vertrauen möchte. Andernfalls würde hier eine Warnmeldung erscheinen.
Habe nun, ach! Java
Python und C-Sharp,
Und leider auch Visual Basic!
Durchaus programmiert mit heissem Bemühn.
Da steh' ich nun, ich armer Tor!
Und bin so klug als wie zuvor.
Python und C-Sharp,
Und leider auch Visual Basic!
Durchaus programmiert mit heissem Bemühn.
Da steh' ich nun, ich armer Tor!
Und bin so klug als wie zuvor.
Re: GitHubs Schlüsselpatzer: Muss ich was tun?
Mein Post ist sicherlich in verschiedener Weise eine Dopplung. Vielleicht hilft er dennoch beim Verstaendnis.
Github wird nun sicherlich einen neuen Hostkey erzeugen. Folglich wird beim naechsten SSH-Kontakt die Hostkey-Ueberpruefung fehlschlagen, weil der Server ploetzlich einen anderen Hostkey hat als bisher. Das kann passieren, wenn der Server seinen Hostkey austauscht oder wenn jemand Man-in-the-Middle spielt. Indem du den Hostkey aus deinem Speicher rausloeschst, sagst du SSH einfach nur, dass es diesen Server noch nicht kennt.
Du solltest ueber einen unabhaengigen Kanal die Signatur des neuen Hostkeys in Erfahrung bringen (z.B. wenn der neue Hostkey im Heise-Artikel steht). Dann loeschst du den alten Hostkey aus dem Speicher. Dann baust du eine neue SSH-Verbindung auf. SSH sagt daraufhin, dass es den Server nicht kennt und zeigt die Signatur dessen Hostkeys an. Diesen vergleichst du dann mit der Signatur, die du dir aus der vertrauenswuerdigen Fremdquelle besorgt hast. Wenn sie passt, kannst du dir (recht) sicher sein, dass du wiederum mit dem offiziellen Github-Server kommunizierst. Lass dir den Hostkey also in deinen Speicher eintragen. Bei jeder weiteren SSH-Verbindung wird wiederum geprueft, dass es immer noch der gleiche Server ist.
paedubuchers Antwort ist insofern hilfreich, dass man mit dem Rausloeschen des Hostkeys verhindert, dass jemand einem einen falschen Server untermogelt. Man verliert damit nichts, schuetzt sich aber vor dem Untermogeln. Man wird dann in jedem Fall beim naechsten SSH-Kontakt wegen des Hostkeys gefragt, den man dann pruefen sollte, bevor man bestaetigt.
Kann man das ``hauptsaechlich'' in deinem ersten Satz nicht streichen? Der Hostkey ist die Identifikation des Servers. Wenn der private Hostkey oeffentlich wird, koennen sich andere Server als diesen ausgeben. Dazu muss aber auch das DNS manipuliert werden, da der Hostkey anhand des Domainnames (bzw. der IP-Adresse) geprueft wird. Solang das DNS korrekt ist, ist es irrelevant, ob der private Hostkey veroeffentlicht wurde, vermute ich.JTH hat geschrieben:24.03.2023 22:39:59Für dich ist GitHubs Schlüssel hauptsächlich relevant, um identifizieren zu können, dass du wirklich mit einem GitHub-Server sprichst. Wenn der Server seinen eigenen Schlüssel geändert hat (wie hier passiert) – oder im ungünstigen Fall jemand deine Verbindung böswillig anzwackt – beschwert sich SSH, dass sich der Schlüssel der Gegenseite unerwartet verändert hat.
Github wird nun sicherlich einen neuen Hostkey erzeugen. Folglich wird beim naechsten SSH-Kontakt die Hostkey-Ueberpruefung fehlschlagen, weil der Server ploetzlich einen anderen Hostkey hat als bisher. Das kann passieren, wenn der Server seinen Hostkey austauscht oder wenn jemand Man-in-the-Middle spielt. Indem du den Hostkey aus deinem Speicher rausloeschst, sagst du SSH einfach nur, dass es diesen Server noch nicht kennt.
Du solltest ueber einen unabhaengigen Kanal die Signatur des neuen Hostkeys in Erfahrung bringen (z.B. wenn der neue Hostkey im Heise-Artikel steht). Dann loeschst du den alten Hostkey aus dem Speicher. Dann baust du eine neue SSH-Verbindung auf. SSH sagt daraufhin, dass es den Server nicht kennt und zeigt die Signatur dessen Hostkeys an. Diesen vergleichst du dann mit der Signatur, die du dir aus der vertrauenswuerdigen Fremdquelle besorgt hast. Wenn sie passt, kannst du dir (recht) sicher sein, dass du wiederum mit dem offiziellen Github-Server kommunizierst. Lass dir den Hostkey also in deinen Speicher eintragen. Bei jeder weiteren SSH-Verbindung wird wiederum geprueft, dass es immer noch der gleiche Server ist.
paedubuchers Antwort ist insofern hilfreich, dass man mit dem Rausloeschen des Hostkeys verhindert, dass jemand einem einen falschen Server untermogelt. Man verliert damit nichts, schuetzt sich aber vor dem Untermogeln. Man wird dann in jedem Fall beim naechsten SSH-Kontakt wegen des Hostkeys gefragt, den man dann pruefen sollte, bevor man bestaetigt.
Use ed once in a while!
Re: GitHubs Schlüsselpatzer: Muss ich was tun?
Jo, das kann man auf der Clientseite, um die es hier geht, streichen.Meillo hat geschrieben:27.03.2023 14:33:28Mein Post ist sicherlich in verschiedener Weise eine Dopplung. Vielleicht hilft er dennoch beim Verstaendnis.
Kann man das ``hauptsaechlich'' in deinem ersten Satz nicht streichen? […]
Manchmal bekannt als Just (another) Terminal Hacker.
Re: GitHubs Schlüsselpatzer: Muss ich was tun?
Zusätzlich zu dem, was paedubucher und Meillo geschrieben haben:buhtz hat geschrieben:24.03.2023 22:51:09Die Frage ob RSA/ECDSA/Ed25519 hat also gar nichts mit meinem Schüsselpaar zu tun oder etwas das inn ~/.ssh liegt?
Ja, es handelt sich um die Datei ~/.ssh/known_hosts, in der die Hostschlüssel gespeichert werden.
-
- Beiträge: 938
- Registriert: 22.02.2009 16:19:02
- Lizenz eigener Beiträge: GNU Free Documentation License
- Wohnort: Schweiz
-
Kontaktdaten:
Re: GitHubs Schlüsselpatzer: Muss ich was tun?
Man kann die betreffenden Zeilen (Suche nach github.com) auch aus dieser Datei rauslöschen, mit ssh-keygen -R geht es aber komfortabler.MSfree hat geschrieben:27.03.2023 15:05:09Zusätzlich zu dem, was paedubucher und Meillo geschrieben haben:buhtz hat geschrieben:24.03.2023 22:51:09Die Frage ob RSA/ECDSA/Ed25519 hat also gar nichts mit meinem Schüsselpaar zu tun oder etwas das inn ~/.ssh liegt?
Ja, es handelt sich um die Datei ~/.ssh/known_hosts, in der die Hostschlüssel gespeichert werden.
Habe nun, ach! Java
Python und C-Sharp,
Und leider auch Visual Basic!
Durchaus programmiert mit heissem Bemühn.
Da steh' ich nun, ich armer Tor!
Und bin so klug als wie zuvor.
Python und C-Sharp,
Und leider auch Visual Basic!
Durchaus programmiert mit heissem Bemühn.
Da steh' ich nun, ich armer Tor!
Und bin so klug als wie zuvor.
Re: GitHubs Schlüsselpatzer: Muss ich was tun?
Bei der Meldung, wenn der Hostkey abweicht, wird die Zeile in der Datei angezeigt, um die es geht. Das ist praktisch fuer diejenigen, die es im Editor machen.paedubucher hat geschrieben:27.03.2023 18:34:22Man kann die betreffenden Zeilen (Suche nach github.com) auch aus dieser Datei rauslöschen, mit ssh-keygen -R geht es aber komfortabler.MSfree hat geschrieben:27.03.2023 15:05:09Ja, es handelt sich um die Datei ~/.ssh/known_hosts, in der die Hostschlüssel gespeichert werden.
Use ed once in a while!
Re: GitHubs Schlüsselpatzer: Muss ich was tun?
Zumindest bei mir ist die known_hosts verschlüsselt, so daß man nicht mehr nach Klartext suchen kann. Mittels ausgegebener Zeilennummer kann man aber die betroffene Zeile im "Blindflug" löschen.paedubucher hat geschrieben:27.03.2023 18:34:22Man kann die betreffenden Zeilen (Suche nach github.com) auch aus dieser Datei rauslöschen,
SSH gibt aber auch direkt den Befehl aus, um die Zeile aus known_hosts mittels ssh-keygen zu löschen.