Was ist die beste Vorgehensweise für den Umgang mit Passwörtern in Git-Repositories?
Ich habe ein kleines Bash-script, dass ich verwenden, um den Zugriff auf twitter und pop-up eine Growl-Benachrichtigung in bestimmten Situationen. Was ist die beste Art das zu handhaben, zu speichern mein Passwort mit dem Skript?
Möchte ich zu Begehen dieses Skript in das git-repo und stellen Sie es auf GitHub, aber ich Frage mich, was der beste Weg, um mein login/Passwort privaten, während dies zu tun ist. Derzeit wird das Kennwort gespeichert, das Skript selbst. Ich kann nicht entfernen Sie es richtig, bevor ich schieben, weil all die alten commits enthält das Passwort. Die Entwicklung ohne das Passwort ist nicht eine option. Ich kann mir vorstellen, dass ich sein sollte, speichern Sie das Passwort in einer externen config-Datei, aber ich dachte, ich würde überprüfen, um zu sehen, ob es eine etablierte Möglichkeit, um diese zu bewältigen, bevor ich versucht und etwas zusammen.
InformationsquelleAutor der Frage kubi | 2010-03-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die typische Art und Weise, dies zu tun ist, Lesen Sie die Passwort-Informationen aus einer Konfigurationsdatei. Wenn Ihre Konfiguration Datei aufgerufen
foobar.config
, dann würden Sie Begehen eine Datei namensfoobar.config.example
im repository mit Beispieldaten. Um das Programm auszuführen, erstellen Sie eine lokale (nicht verfolgt) - Datei namensfoobar.config
mit Ihrem real Passwort-Daten.Heraus zu filtern, Ihre bestehende Passwort aus dem vorherigen commit, siehe die GitHub-Hilfe-Seite auf Entfernen vertraulicher Daten.
InformationsquelleAutor der Antwort Greg Hewgill
Ansatz kann sein Passwort (oder API-key) mithilfe einer Umgebungsvariablen.
Also das Passwort ist aus der Versionskontrolle.
Mit Bash, können Sie legen Sie die Umgebungsvariable mithilfe
Dieser Ansatz kann die Verwendung mit continuous-integration-services wie Travis, Ihren code (ohne Passwort) gespeichert werden in einer GitHub repository ausgeführt werden kann, wird von Travis (mit Ihrem Passwort festgelegt wird, über die environment-variable).
Mit der Bash, die Sie bekommen können Wert einer variable mit:
Mit Python, können Sie den Wert einer environment-variable mit:
PS: seien Sie sich bewusst, dass es wahrscheinlich ein bisschen riskant (aber es ' SS eine ziemlich gängige Praxis) https://www.bleepingcomputer.com/news/security/javascript-packages-caught-stealing-environment-variables/
PS2: dieser Artikel mit dem Titel "Wie sichere speichern von API-keys" https://dev.to/bpedro/how-to-securely-store-api-keys-ab6 interessant zu Lesen
InformationsquelleAutor der Antwort scls
Was Greg sagte aber ich möchte hinzufügen, dass es eine gute Idee zu prüfen, in eine Datei
foobar.config-TEMPLATE
.Sollte es enthalten, beispielsweise Namen, Passwörter oder andere config-info. Dann ist es sehr offensichtlich, was die wirkliche foobar.config enthalten sollte, ohne Blick in den code für die Werte vorhanden sein müssen
foobar.config
und welches format Sie haben soll.Häufig config-Werte können nicht offensichtliche, wie Datenbank-Verbindungszeichenfolgen und ähnliche Dinge.
InformationsquelleAutor der Antwort Prof. Falken
Kann man Vault sichert, speichert und steuert den Zugriff auf Token, Passwörter, Zertifikate, API-keys, etc. Zum Beispiel Ansible verwendet die Ansible Vault die sich mit Passwörtern oder Zertifikaten verwendet playbooks
InformationsquelleAutor der Antwort El Ruso
Wenn Sie mit ruby, ruby on rails, der Figaro Edelstein ist sehr gut, leicht und zuverlässig. Es hat eine geringe Kopfschmerzen Faktor, mit dem die Produktionsumgebung zu.
InformationsquelleAutor der Antwort ahnbizcad