Passwort in TortoiseHg speichern


200

Gibt es eine Möglichkeit, TortoiseHg so zu konfigurieren , dass mein Passwort gespeichert wird?

Ich habe ein auf Google Code gehostetes Projekt, auf das ich mit TortoiseHg zugreife. Wann immer ich Änderungen an Google Code pushen möchte, fordert TortoiseHg mich zur Eingabe eines Benutzernamens und eines Passworts auf. Bei Google Code muss ich ein automatisch generiertes Passwort verwenden, und es wiederholt sich jedes Mal, wenn ich es nachschlage.

Antworten:


70

Sicherheitswarnung

Obwohl diese Antwort ab dem 15.09.2017 akzeptiert wird, ist sie keine empfohlene Lösung. Sie sollten Ihre Passwörter niemals im Klartext speichern. Verwenden Sie mercurial_keyringstattdessen die Erweiterung. Eine andere Antwort finden Sie hier.


Sie können Ihre Push-URL in https: // Benutzername: Passwort@Hostname.com/repo ändern .

Dies wird in den FAQs von Google Code und Mercurial erläutert .

EDIT: Mercurial FAQ erklärt einen anderen Weg, um es zu tun:

Mit Mercurial 1.3 können Sie Ihrer hgrc-Datei auch einen Auth-Abschnitt hinzufügen:
[auth]
example.prefix = https://hg.example.net/
example.username = foo
example.password = bar

51
Das ist eine schlechte Antwort! Sie sollten niemals Klartext-Passwörter in einer Datei speichern ... !! Die andere Option (mit mehr Stimmen) mit mercurial_keyring ist das einzig Richtige!
Lars Corneliussen

6
+1. In Anbetracht dessen, dass dies hg pushnicht destruktiv ist (Sie können immer hg stripunerwünschte Änderungssätze festlegen), ist das Verschieben in ein Remote-Repository kaum eine sehr privilegierte Operation. Aus diesem Grund ist die Speicherung von Klartextkennwörtern oft vollkommen ausreichend, solange man sich der Auswirkungen auf die Sicherheit bewusst ist.
Søren Løvborg

4
Das Problem ist nicht, dass jemand das Repository unwiederbringlich beschädigen kann. Die Probleme sind: (1) Personen verwenden Kennwörter wieder. Sobald jemand diese Textdatei erreicht hat, kann er auf nicht verwandte Ressourcen zugreifen. (2) Es können beliebige Hacks in den Quellcode eingeschlichen werden ... (3) Der Code ist möglicherweise geheim (nicht jede Entwicklung ist Open Source), und es macht nicht immer Spaß, ihn gestohlen zu haben.
Max

6
@max 1) Vielleicht theoretisch wahr, aber OP hat ausdrücklich angegeben, dass er ein automatisch generiertes Passwort verwendet. 2) Die Versionskontrolle stoppt dies. Sie können alle Änderungen sehen, die eingecheckt wurden. Wie könnte dies ein Problem sein? 3) Wenn jemand Zugriff auf auf Ihrem Computer gespeicherte Klartextkennwörter hat, hat er auch Zugriff auf Ihren Code. Das Passwort ist hier bedeutungslos, da sie Ihren Code einfach auf einen Dongle kopieren können.
Goldenratio

4
@LarsCorneliussen Dies ist keine schlechte Antwort. Nicht jeder Anwendungsfall erfordert dieses Sicherheitsniveau. Die Schlüsselringverlängerung ist ebenso eine Option.
Cypher

265

Beide vorhandenen Antworten schlagen vor, Ihren Benutzernamen und Ihr Passwort unverschlüsselt im Klartext zu speichern , was ein bisschen ein Nein-Nein ist.

Sie sollten stattdessen die Schlüsselring- Erweiterung verwenden, da diese speziell zum sicheren Speichern von Authentifizierungskennwörtern entwickelt wurde. Es ist bereits im Lieferumfang von TortoiseHg enthalten . Sie müssen es also nur aktivieren, indem Sie Folgendes in Ihre mercurial.ini- Datei schreiben :

[extensions]
mercurial_keyring=

Sie müssen auch Ihren Benutzernamen mit der Push-URL verknüpfen , indem Sie Ihre repository-spezifische .hg \ hgrc- Datei wie im folgenden Beispiel bearbeiten :

[paths]
default = https://<your_username>@bitbucket.org/tortoisehg/thg

Weitere Informationen zum Zuordnen Ihres Benutzernamens zur URL finden Sie im Abschnitt SMTP (Repository Configuration) auf der Seite zur Erweiterung des Schlüsselbunds .


2
Ich habe gerade diese Lösung ausprobiert und sie hat unter Windows 7 hervorragend funktioniert. Sehr schön! Vielen Dank!
Mateuscb

funktioniert gut für mich - aber ich denke, Sie müssen auch einen Benutzernamen einfügen, entweder unter der Überschrift [auth], oder den Pfad zum Repository wie Benutzername @ host ändern (wie oben angegeben)
Tom Carver

1
Gute Antwort, definitiv der richtige Weg.
Objekt

Was ist mit dem Speichern des Benutzernamens und des Passworts, wenn Sie sich hinter einem Webproxy befinden?
Seth

3
Der richtige Weg wäre, den Benutzernamen über den Abschnitt auth zu konfigurieren. Sie sollten keine Auth-Informationen in Ihrem Repo-Pfad haben, zB[auth] \n bitbucket.org.prefix = bitbucket.org \n bitbucket.org.username = schlamar
schlamar

150

Drei Schritte, Screenshot ansehen . Hinweis: Hier wird Ihr Passwort im Klartext gespeichert.

Geben Sie hier die Bildbeschreibung ein


37
es sieht so aus, als würde dies auch das Passwort im Klartext speichern - wenn Sie die Schlüsselringerweiterung aktiviert haben, wird das Passwortfeld deaktiviert
Vlad Iliescu

5
Funktioniert nur, wenn Sie das https-Protokoll verwenden. Wenn Sie auf http setzen, verschwindet das Vorhängeschloss.
Despertar

Akzeptierte Legacy-Antworten saugen, das sollte das grüne chekky haben!
William T. Mallard


2

Ändern Sie einfach die hgrcDatei im .hgVerzeichnis Ihres lokalen Repositorys so, dass sie folgendermaßen aussieht:

[paths]
default = https://name:password@yourproj.googlecode.com/hg/

Dabei ist der Name Ihr Google Code-Login ohne das Google Mail / Google Mail-Bit, z. B. "fredb" (nicht fredb@gmail.com), das Passwort das von Google generierte Passwort und yourproj der Name Ihres GC-Projekts. Also so etwas wie:

default = https://fred:xyz123@fredproj.googlecode.com/hg/

11
Speichern Sie Passwörter niemals im Klartext. NOCH NIE! Verwenden Sie mercurial_keyring - TortoiseHG fragt dann nur einmal nach dem Passwort.
Lars Corneliussen

1
Sag niemals nie :) Ja, der SSH-Schlüssel ist dem Schlüsselring vorzuziehen, der Schlüsselring ist dem Klartext vorzuziehen, aber es gibt wirklich verschiedene Situationen. PS hat sowohl die "Schlüsselring" -Antwort als auch diese positiv bewertet.
Alex Shesterov

0

Das funktioniert bei mir mit SSH. Ich kenne das Passwort im Klartext, aber dies ist in diesem Projekt kein Problem. Sie müssen myUser und MyOPas für Ihre Anmeldeinformationen und den Pfad zu TortoisePlink.exe ändern. Bearbeiten Sie die Datei mercurial.ini

[reviewboard]
password = myPass
[ui]
username = myUser
ssh = "C:\Program Files\TortoiseHg\lib\TortoisePlink.exe" -l myUser -pw  myPass

0

Wenn Sie das Kennwort in mercurial.ini speichern möchten und es nach dem Upgrade auf TortoiseHg 4.9 oder höher nicht mehr funktioniert, können Sie den Port dem Präfix hinzufügen:

[auth]
tax.prefix = http://server:8080
tax.username = cerveser
tax.password = mypassword
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.