Ich habe mich gefragt, ob es eine Möglichkeit gibt, mein Subversion-Kennwort zu speichern, wenn svn
Vorgänge über die Konsole ausgeführt werden. Die Konsole ist die einzige Option, die ich habe. Wenn ich versuche, eine Subversion-Aktion auszuführen, z. B. svn commit
wird jedes Mal zur Eingabe des Kontokennworts aufgefordert . Gibt es eine Möglichkeit, dieses Passwort irgendwie zu speichern, damit ich es nicht jedes Mal neu eingeben muss?
106
Antworten:
In
~/.subversion/config
haben Sie wahrscheinlichstore-passwords = no
. Ändern Sie es inyes
(oder kommentieren Sie es einfach aus, weil es standardmäßig Ja ist), und wenn Sie Subversion das nächste Mal Ihr Passwort geben, sollte es gespeichert werden.Möglicherweise möchten Sie sicherstellen, dass der Eigentümer und die Berechtigungen von
~/.subversion/config
korrekt sind (kein öffentlicher oder Gruppenzugriff; 600).quelle
Red Hat Linux 2.6.18
. Irgendeine Idee, wo es sein könnte?/etc/subversion/config
arbeiten Sie wie erwartet. Dankestore-passwords
Option inconfig
ist jetzt veraltet, gemäß einigen Standardkommentaren, die ich in meinerconfig
Datei gefunden habe ; sie wurde durch dieselbe Option in ersetztservers
.)Dies hängt vom verwendeten Protokoll ab. Wenn Sie SVN + SSH verwenden, kann der SVN-Client Ihr Kennwort nicht speichern, da es es nie berührt. Der SSH-Client fordert Sie direkt dazu auf. In diesem Fall können Sie einen SSH-Schlüssel und einen SSH-Agenten verwenden, um die ständigen Eingabeaufforderungen zu vermeiden. Wenn Sie das svnserve-Protokoll oder HTTP (S) verwenden, verarbeitet der SSH-Client Ihr Kennwort und kann es speichern.
quelle
.ssh/config
und den öffentlichen Schlüssel an den SVN-Server anhängen.Löschen Sie Ihren
.subversion
Ordner in Ihrem Home-Verzeichnis und versuchen Sie erneut, einen Commit durchzuführen. Es sollte Sie zur Eingabe Ihres Passworts auffordern und Sie dann fragen, ob Sie das Passwort speichern möchten.quelle
Ich musste bearbeiten
~/.subversion/servers
. Ich habe gesetztstore-plaintext-passwords = yes
(war vorher nicht). Das hat funktioniert. Es könnte jedoch als unsicher angesehen werden.quelle
store-passwords = yes
. Ich glaube, es wurde vorher eingestellt, wurde aber nicht gesetzt, als ich auf SVN 1.7Bitte beachten Sie den folgenden Absatz aus der
~/.subversion/servers
Datei:Es ist mindestens für SVN Version 1.6.12. Denken Sie also daran, die Serverdatei auch beim Überschreiben zu bearbeiten
~/.subversion/config
.quelle
Wenn Sie svn + ssh verwenden , können Sie Ihren öffentlichen ssh-Schlüssel auf den Remotecomputer kopieren:
quelle
Für mich (Mac-Benutzer) bestand das Problem darin, dass im Schlüsselbund bereits ein Eintrag für meine Anmeldeinformationen gespeichert war, die Zugriffsrechte jedoch nicht richtig waren.
Das Löschen des Eintrags in der Schlüsselketten-App und das anschließende Neuerstellen mithilfe von svn haben das Problem behoben.
quelle
Keine dieser wunderbaren Antworten hat bei einer Neuinstallation von Ubuntu für mich funktioniert. Stattdessen hat ein Hinweis auf diese Antwort den Trick für mich getan.
Ich musste das "einfache" Speichern von Passwörtern zulassen, indem ich dies leer setzte in
~/.subversion/config
:Es gab keine vorhandene Einstellung, daher ist es wichtig, leer zu sein.
Dies war zusätzlich zu:
in
~/.subversion/servers
.quelle
Die Verwendung von Klartext ist möglicherweise nicht die beste Wahl, wenn das Kennwort jemals als etwas anderes verwendet wird.
Ich unterstütze die akzeptierte Antwort, aber sie hat bei mir nicht funktioniert - aus einem ganz bestimmten Grund: Ich wollte entweder
kwallet
odergnome-keyring
Passwortspeicher verwenden. Ich habe versucht, die Einstellungen in allen vier Dateien zu ändern:Selbst nachdem alles gleich eingestellt war,
password-stores
funktionierte es mit und KWallet-Name (Standard könnte falsch sein, oder?) Nicht und fragte immer wieder nach dem Passwort. Die Dateien in~/.subversion
hatten Berechtigungen 600.Nun, an diesem Punkt können Sie versuchen, eine einfache Sache zu überprüfen:
Wenn du bekommst:
Dann können Sie mit großer Wahrscheinlichkeit vermuten, dass dieser Client lokal von Ihrem Administrator aus der Quelle erstellt wurde (dies können Sie selbst sein, wie in meinem Fall).
Subversion ist ein böses Tier zum Kompilieren , sehr einfach versehentlich ohne HTTP-Unterstützung oder - wie in meinem Beispiel - ohne Unterstützung für verschlüsselte Passwortspeicher zu erstellen (Sie benötigen entweder Gnome- oder KDE-Entwicklungsdateien und viele davon!). Aber das
./configure
Skript sagt Ihnen das nicht und Sie erhalten nur einen weniger funktionalensvn
Befehl.In diesem Fall können Sie zu dem Client zurückkehren, der mit Ihrer Distribution geliefert wurde, normalerweise in
/usr/bin/svn
. Der Nachteil ist, dass Sie die Arbeitskopien wahrscheinlich erneut auschecken müssen, da keinsvn downgrade
Befehl vorhanden ist. Sie können Linus Torvalds konsultieren, was Sie über Subversion denken sollten;)quelle
Um Heaths Antwort hinzuzufügen: Es sieht so aus, als ob Subversion 1.6 das Speichern von Passwörtern standardmäßig deaktiviert hat, wenn sie nicht in verschlüsselter Form gespeichert werden können. Sie können das Speichern unverschlüsselter Kennwörter zulassen, indem Sie explizit
password-stores =
( dh den leeren Wert) in festlegen~/.subversion/config
.Überprüfen Sie, welche Subversion für den Kennwortspeicher verwendet wird
~/.subversion/auth/svn.simple
. Diese enthält mehrere Dateien, jede eine Hash-Tabelle mit einer einfachen Schlüssel- / Wertcodierung. Dassvn:realmstring
in jeder Datei gibt an, für welchen Bereich diese Datei bestimmt ist. Wenn die Datei hatDann speichert es das Passwort im Klartext irgendwo in dieser Datei in einem
K 8 password
Eintrag. Andernfalls wird versucht, eine der konfigurierten zu verwendenpassword-stores
.quelle
Alle hier genannten Methoden funktionieren bei mir nicht. Ich habe Subversion aus dem Quellcode erstellt und festgestellt, dass ich configure mit ausführen muss
--enable-plaintext-password-storage
, um diese Funktion zu unterstützen.quelle
Um zu betonen, was Tomasz Gandor und Domain über die richtige Version von svn gesagt haben und dass diese kompiliert wurde, um die Speicherung von Klartext-Passwörtern zu ermöglichen, müssen Sie überprüfen, was Sie haben:
Gegen:
Wenn Sie sehen, dass Ihre Version von svn für die Speicherung von Klartextkennwörtern aktiviert wurde, wenden Sie alle restlichen Antworten hier an.
quelle
Ich verwende den TortoiseSVN- Client unter Windows. Wenn Sie den Parameter store-passwords auf yes in setzen,
%USERPROFILE%\AppData\Roaming\Subversion\config
hilft dies nicht, das Kennwort zu speichern.Das Passwort wurde nach dem Entfernen dieses Ordners erfolgreich gespeichert (nur für den Fall, dass es umbenannt wird):
Umgebung:
quelle
Leider lösten die Antworten nicht das Problem, nach einem Passwort für ssh + svn mit einem geschützten privaten Schlüssel zu fragen. Nach einigen Recherchen fand ich:
Dienstprogramm, wenn Sie einen Linux-Computer haben. Stellen Sie sicher, dass Ihre Schlüssel gespeichert sind,
/home/username/.ssh/
und geben Sie diesen Befehl auf dem Terminal ein.quelle