fragen stichworte

Git: ssh-Schlüssel ablaufen, genauso wie Passwörter ablaufen?

Ich setze git in einer Unternehmensumgebung ein. Git-Vorgänge erfolgen hauptsächlich über SSH, wobei ein einziges Konto mit SSH-Schlüsseln für die Zugriffskontrolle verwendet wird. (http wird für die Kontokonfiguration, für das webbasierte Durchsuchen von Codes, aber sonst wenig verwendet.)

Aber die Idee, dass SSH-Schlüssel niemals auslaufen, klingt für mich töricht. Ein privater Schlüssel wäre nur durch einen kompromittierten Desktop möglich, und ein Eindringling hätte unbegrenzten Zugriff auf unser geistiges Eigentum.

Ich habe viel gegoogelt und es gibt sehr wenige Informationen dazu. Was alarmiert mich, weil ich nicht glaube, dass ich auf dem falschen Weg bin.

Es ist leicht genug, Schlüssel regelmäßig abzulehnen, obwohl Tools wie GitLab und Stash es nicht einfach machen. Wir haben ein Wrapper-Skript "git login" zum Senden von öffentlichen SSH-Schlüsseln an den Server. Es kann sicherstellen, dass alte Schlüssel nicht nur wiederverwendet werden, und es kann auch sichergestellt werden, dass spezielle Schlüssel (wie in ~/.ssh/config angegeben) verwendet werden, damit wir nicht regelmäßig ~/.ssh/id_da* von jemandem überschreiben und andere Anmeldungen beenden.     (Die Verwendung von Schlüsseln an einem nicht standardmäßigen Speicherort, der in einer ssh config -Datei angegeben ist, kann für einige meiner Benutzer von lon-linux (Windows) jedoch problematisch sein.)

Hat das noch jemand gemacht? Was ist die Best Practice der Branche?

Aktualisieren

Ok, es sieht so aus, als wäre ein Teil der Antwort "Dies ist genau das, wofür SSH-Passphrasen bestimmt sind." Die verbleibenden Fragen entsprechen also

Gibt es eine Möglichkeit, die Verwendung von Passphrasen zu erzwingen und diese regelmäßig zu ändern? Ich gehe davon aus, dass die Leute sich daran halten, es muss einfach für sie einfach sein.

Und sss Passphrases eliminieren die Möglichkeit, GIT-Operationen in einem Cron-Job auszuführen. Was wäre ein echtes Hindernis, nicht in der Lage zu sein.

antworten

Die Antwort auf Ihre Frage ist nein, es gibt keine Möglichkeit innerhalb von ssh reguläre Passwörter zu erzwingen.

Da Sie ein einzelnes Konto verwenden, befinden sich wahrscheinlich alle öffentlichen Schlüssel in einer einzigen autorisierten_Schlüsseldatei, sodass Sie Schlüssel ungültig machen können, indem Sie sie daraus entfernen. Dies fühlt sich jedoch wie zu viel Mühe an und die Leute könnten einfach die gleiche Passphrase auf einem anderen Schlüssel verwenden.

Eine Möglichkeit, Ihr Problem zu lösen, besteht darin, die Multi-Faktor-Authentifizierung zu verwenden. Auf diese Weise wird selbst dann, wenn der Schlüssel/die Passphrase kompromittiert ist, eine andere Schicht auf dem Weg sein.