Was ein nicht erkannter SSH-Schlüssel tatsächlich bedeutet
Ein in einem GitHub-Konto aufgeführter SSH-Schlüssel ist ein Berechtigungsnachweis, der sich als dieses Konto authentifizieren kann. Einen zu sehen, den Sie nicht erkennen, ist ein Grund zur Untersuchung, keine Schlussfolgerung. Der Schlüssel könnte zu einem Gerät gehören, das Sie vergessen haben, zu einer Einrichtung eines ehemaligen Teammitglieds, zu einem alten Laptop oder zu etwas, das Sie nicht autorisiert haben. Der sichere Ansatz ist, den Besitzer und den Zweck zu identifizieren, bevor Sie etwas löschen, denn das Entfernen eines Schlüssels, der von einem legitimen Workflow verwendet wird, wird diesen Workflow unterbrechen.
GitHub behandelt mehrere Dinge als separate Zugriffswege. Ein persönlicher SSH-Schlüssel, ein Deploy-Schlüssel, der an ein Repository angehängt ist, und eine autorisierte OAuth-Anwendung sind unterschiedliche Mechanismen mit unterschiedlichen Geltungsbereichen. Das Prüfen des einen prüft nicht die anderen.
GitHub empfiehlt, SSH-Schlüssel, Deploy-Schlüssel und autorisierte Anwendungen als separate Zugriffswege zu prüfen. Quelle
Checkliste vor und nach dem Entfernen
Verwenden Sie dies als Arbeitsliste. Die Spalte „Vorher“ dient der Faktenermittlung; die Spalte „Nachher“ der Bestätigung des Ergebnisses.
| Phase | Prüfung | Warum es wichtig ist |
|---|---|---|
| Vorher | Listen Sie jeden im Konto angezeigten SSH-Schlüssel mit seinem Titel und allen sichtbaren Fingerabdruck- oder Erstellungsdetails auf | Sie benötigen ein vollständiges Bild, bevor Sie entscheiden, welcher Eintrag unbekannt ist |
| Vorher | Ordnen Sie jeden Schlüssel einem Gerät oder einer Person zu, die Sie benennen können | Ein nicht benannter Schlüssel ist der, den es zu hinterfragen gilt |
| Vorher | Fragen Sie, ob ein aktueller Workflow von dem Schlüssel abhängt (Builds, Deployments, ein gemeinsam genutzter Rechner) | Das Löschen eines aktiv genutzten Schlüssels unterbricht diesen Workflow |
| Vorher | Prüfen Sie, ob derselbe Zugriff auch über Deploy-Schlüssel oder autorisierte Anwendungen gewährt wird | Dies sind separate Wege und erfordern eine eigene Prüfung |
| Vorher | Legen Sie die Vorgehensweise fest: behalten, ersetzen oder löschen | Ein veralteter Schlüssel muss möglicherweise ersetzt statt einfach entfernt werden |
| Nachher | Bestätigen Sie, dass der Schlüssel nicht mehr in der SSH-Schlüsselliste des Kontos erscheint | Die sichtbare Liste ist Ihre erste Bestätigung |
| Nachher | Bestätigen Sie, dass der betroffene Workflow weiterhin funktioniert oder dass Sie einen Ersatzweg haben | Das Entfernen sollte keinen legitimen Prozess stranden lassen |
| Nachher | Notieren Sie, was Sie wann entfernt haben, ohne das Schlüsselmaterial selbst aufzuzeichnen | Eine Aufzeichnung hilft bei zukünftigen Audits |
Einen Konto-SSH-Schlüssel entfernen
Das Entfernen selbst erfolgt in den Kontoeinstellungen. Der von GitHub dokumentierte Weg ist Einstellungen, dann SSH- und GPG-Schlüssel, wo Sie Konto-SSH-Schlüssel überprüfen und nicht erkannte oder veraltete löschen können.
Unter Einstellungen, SSH- und GPG-Schlüssel, überprüfen Sie Konto-SSH-Schlüssel und löschen Sie nicht erkannte oder veraltete. Quelle
Halten Sie den Umfang eng. Dieser Schritt entfernt einen Konto-SSH-Schlüssel. Er entfernt keine Deploy-Schlüssel, widerruft keine autorisierten Anwendungen und ändert keine Repository-Inhalte. Wenn Ihr Audit in diesen Bereichen Probleme gefunden hat, behandeln Sie diese als eigene Aufgaben.
Legitime Workflows, die vor dem Löschen zu bedenken sind
Nicht jeder unbekannte Schlüssel ist feindlich. Bedenken Sie diese häufigen Situationen, bevor Sie handeln:
- Ein Gerät, das Sie nicht mehr verwenden. Ein alter Laptop oder Arbeitsrechner kann noch einen registrierten Schlüssel haben. Wenn Sie das Gerät noch haben, können Sie die Übereinstimmung bestätigen; wenn nicht, ist das Löschen normalerweise die richtige Entscheidung.
- Ein gemeinsam genutzter oder Team-Rechner. Jemand anderes könnte einen Schlüssel für einen legitimen Zweck hinzugefügt haben. Bestätigen Sie dies mit dem Besitzer, bevor Sie ihn entfernen.
- Eine Deployment- oder Automatisierungseinrichtung. Wenn ein Schlüssel von einem geplanten Prozess verwendet wird, kann das Löschen diesen Prozess stoppen. Identifizieren Sie zuerst die Abhängigkeit.
- Ein Schlüssel, den Sie erstellt und vergessen haben. Titel und Erstellungsdaten helfen oft, Erinnerungen wachzurufen. Wenn Sie ihn Ihrem eigenen früheren Setup zuordnen können, können Sie ihn behalten oder ersetzen, anstatt ihn zu löschen.
Im Zweifelsfall ist die sicherere Reihenfolge: identifizieren, dann durch einen Schlüssel ersetzen, den Sie kontrollieren, dann den alten Eintrag entfernen. So bleibt ein funktionierender Weg bestehen, während Sie den unbekannten schließen.
Was dieser Prozess nicht leistet
Das Entfernen eines SSH-Schlüssels ist eine gezielte Aktion, keine vollständige Kontobereinigung. Es bewirkt nicht:
- den Widerruf von OAuth-Anwendungen oder anderen autorisierten Integrationen;
- das Entfernen von Deploy-Schlüsseln aus Repositories;
- den Nachweis, wer den Schlüssel erstellt hat oder warum;
- die Bestätigung, dass kein anderer Zugriffsweg existiert.
Behandeln Sie jeden dieser Punkte als separate Prüfung. Ein Audit ist eine Reihe kleiner, überprüfbarer Schritte, kein einzelner Schalter.
Wo eine Benutzernamen-Suche passt – und wo nicht
Eine öffentliche Benutzernamen-Suche kann Ihnen helfen zu sehen, womit ein bekannter Handle auf öffentlichen Plattformen in Verbindung zu stehen scheint. Das ist nützlicher Kontext, wenn Sie versuchen, eine Identität oder einen Online-Fußabdruck zu verstehen. Es ist kein Weg, GitHub-Kontoeinstellungen einzusehen, und es kann Ihnen nicht sagen, wem ein SSH-Schlüssel gehört. TraceSeek, die von TruthsSeek behandelte App, prüft bekannte öffentliche Benutzernamen auf 3.000+ Plattformen und liefert einen ersten Scan in 20–30 Sekunden, wobei der erste Scan kostenlos ist. Es bedient keine GitHub-Einstellungen, und eine öffentliche Übereinstimmung ist ein Hinweis, kein Eigentumsnachweis.
Berechtigungsnachweise sicher handhaben
Veröffentlichen Sie niemals einen privaten Schlüssel, ein Token oder vollständige Berechtigungsnachweise in einem Chat, einem Issue, einem Screenshot oder einem Forenbeitrag. Wenn Sie Hilfe beim Identifizieren eines Schlüssels benötigen, teilen Sie nur nicht geheime Details wie seinen Titel oder den sichtbaren Fingerabdruck mit – und nur mit jemandem, dem Sie vertrauen. Wenn Sie vermuten, dass ein Schlüssel offengelegt wurde, ist das Entfernen aus dem Konto ein Schritt; das Rotieren alles, was davon abhing, ist eine separate Entscheidung, die Sie bewusst treffen sollten.