コンソールからSubversionを使用するときにパスワードを保存する方法


106

svnコンソールから操作するときにSubversionのパスワードを保存する方法があるかどうか疑問に思っていました。コンソールが唯一の選択肢です。たとえばsvn commit、Subversionアクションを実行しようとすると、毎回アカウントパスワードの入力を求められます。このパスワードを何らかの方法で保存して、毎回再入力する必要がないようにする方法はありますか?


受け入れられた回答が機能しない場合のトラブルシューティングを可能にするように構成が設定されていても、svn store passwordを作成できないことも参照してください。
maxschlepzig 2014

回答:


110

では~/.subversion/config、おそらくあなたは持っていstore-passwords = noます。これをyes(またはデフォルトでyesになっているのでコメントアウトする)に変更し、次にSubversionにパスワードを与えると、パスワードが保存されます。

の所有者と権限~/.subversion/configが正しいことを確認する必要がある場合があります(パブリックまたはグループアクセスなし、600)。


このファイルがで見つかりませんRed Hat Linux 2.6.18。それがどこにある可能性がありますか?
Ish

3
@Ish存在しない場合は作成する必要があります。私はSVNがすべてのディストリビューションでそこを見ていると思います
Michael Mrozek

5
+1、ファイル/etc/subversion/configシステムの作成後、期待どおりに動作します。ありがとう
Ish

@IshKumarありがとう!初めて働いた!
Anil

15
@ 7より良いまだ、より最新の新しい答えを書いてください。(私のファイルで見つけたいくつかのデフォルトのコメントによれば、のstore-passwordsオプションconfigは現在非推奨configです。それはの同じオプションに置き換えられていますservers。)
Kyle Strand

54

使用しているプロトコルによって異なります。SVN + SSHを使用している場合、SVNクライアントはパスワードに決して触れないため、SVNクライアントはパスワードを保存できません。SSHクライアントは直接パスワードを要求します。この場合、SSHキーとssh-agentを使用して、一定のプロンプトを回避できます。svnserveプロトコルまたはHTTP(S)を使用している場合、SSHクライアントがパスワードを処理しており、それを保存できます。


4
+1私はこの正確な問題を抱えています-svn + sshは常に、常にパスワードを要求します。公開鍵を共有する以外に、これを回避する方法はありますか?私はssh-agentを試しましたが、うまくいきませんでした。
Michael Mikowski、2012年

@MichaelMikowski SSHパスワードを自動ログイン用の構成に保存できないようです。そのための新しい鍵ペアを作成し、秘密鍵の場所をに保存し.ssh/config、公開鍵をSVNサーバーに追加できます。
lk_vc 2014年

33

.subversionホームディレクトリのフォルダをクリアして、もう一度コミットしてみてください。パスワードの入力が求められ、パスワードを保存するかどうかを尋ねられます。


代わりに.subversionフォルダーを意味します!
khmarbaise、2010年

3
私も同じ問題を抱えていました。configまたはserversファイルでストアパスワードの設定を "no"に設定していませんでしたが、これは機能しました。
ボブB

1
あらゆる設定を無効にしようとしていました。この問題を最終的に解決した唯一のことは、確かに.subversionフォルダーを削除することでした。
Michael Noyb

これも私にとってはうまくいきました。興味深いことに、パスワードは〜/ .subversion / auth / svn.simpleフォルダー内に保存されていました。
Chetan 2013

これも私にとっては同じことでしたが、違いが何であるかを確認したところ、.subversionディレクトリとそのファイルの所有権であることがわかりました。別のマシンからデータを転送した後、このディレクトリはどういうわけかルートに所有されていましたが、私が所有する必要がありました。ディレクトリを削除し、svnにディレクトリを再作成させることで問題が修正されました(ただし、chownはおそらくそれも修正したでしょう)。
ジョーストラウト2018

19

私は編集しなければなりませんでした~/.subversion/servers。私は設定しましたstore-plaintext-passwords = yes(以前はありませんでした)。これでうまくいきました。それは安全ではないと考えられるかもしれません。


3
同じファイルで、を設定する必要がありましたstore-passwords = yes。以前は設定されていたと思いますが、SVN 1.7に更新すると設定が解除されました
pieman72

9

~/.subversion/serversファイルの次の段落に注意してください。

「store-passwords」と「store-auth-creds」の両方を、configディレクトリの「servers」ファイルで指定できるようになりました。このセクションで指定されたものはすべて、「servers」ファイルで指定された設定によって上書きされます。

少なくともSVNバージョン1.6.12用です。したがって、serversファイルをオーバーライドするときにも編集することを忘れないでください~/.subversion/config


これは、同じファイルでオーバーライドがあったことを確認するのに役立ちました(2つの「パスワードストア」宣言!)。それを修正し、svn.simpleファイルはgnome-keyringプロパティで作成されました。
Danielson AlvesJúnior


5

私(Macユーザー)にとっての問題は、キーチェーンに私の資格情報用のエントリが既に保存されているが、アクセス権が正しくないことでした。

キーチェーンアプリのエントリを削除してから、svnを使用してエントリを再作成すると、問題が修正されました。


4

Ubuntuの新規インストールでは、これらの素晴らしい答えはどれもうまくいきませんでした。代わりに、この答えからの手がかりが私にとってはトリックでした。

私はこれを空に設定することで「シンプルな」パスワードストアを許可する必要がありました~/.subversion/config

password-stores =

既存の設定はなかったため、空であることは重要です。

これに加えて:

store-passwords = yes

の中で~/.subversion/servers


これは、デフォルトオプションが機能するように見えるように私にも役立ちましたが、明示的に指定されない限り、それは機能しません:(
Arunas Bartisius

3

パスワードが他の目的で使用される場合は、プレーンテキストを使用するのは最善の選択ではない可能性があります。

受け入れられた回答はサポートしていますが、私にはうまくいきませんでした。非常に具体的な理由から、kwalletまたはgnome-keyringパスワードストアを使用したかったのです。4つのファイル全体で設定を変更してみました。

/etc/subversion/config
/etc/subversion/servers
~/.subversion/config
~/.subversion/servers

すべてが同じに設定された後でもpassword-stores、KWallet名(デフォルトは間違っている可能性がありますよね?)は機能せず、パスワードを永久に要求し続けました。のファイルに~/.subversionは600の権限がありました。

さて、その時点で、簡単なことを1つ確認してみましょう。

which svn

あなたが取得する場合:

/usr/bin/local/svn

次に、このクライアントがローカルでソースから、管理者(私の場合は自分自身)によってビルドされた可能性が非常に高いと思われるかもしれません。

Subversionはコンパイルが厄介な獣であり、 HTTPサポートなしで誤ってビルドするのは非常に簡単です。または-この例のように-暗号化パスワードストアがサポートされていません(GnomeまたはKDE開発ファイル、およびそれらの多くが必要です)。しかし、./configureスクリプトはそれを教えず、機能が低下するだけです。svnコマンドを。

その場合、ディストリビューションに付属しているクライアントに戻ることができます/usr/bin/svn。通常はです。欠点は- svn downgradeコマンドがないため、おそらく作業コピーを再チェックアウトする必要があるでしょう。とにかく、Subversionについてどう思うかについてはLinus Torvaldsに相談してください;)


2

Heathの回答に追加するには:暗号化された形式でパスワードを保存できない場合、Subversion 1.6はデフォルトでパスワードの保存を無効にしているようです。で明示的にpassword-stores =(つまり、空の値に)設定することで、暗号化されていないパスワードの保存を許可できます。~/.subversion/config

Subversionが使用するパスワードストアを確認するには、を参照してください~/.subversion/auth/svn.simple。これにはいくつかのファイルが含まれており、それぞれが単純なキー/値エンコーディングを含むハッシュテーブルです。svn:realmstring各ファイルのは、そのファイルの対象となるレルムを識別します。ファイルに

K 8
passtype
V 6
simple

次に、そのファイルのどこか、K 8 passwordエントリにプレーンテキストでパスワードを保存します。そうでない場合は、構成されたの1つを使用しようとしますpassword-stores


1

ここで言及されているすべてのメソッドは私のために働いていません。私はソースからSubversionをビルドしましたが、--enable-plaintext-password-storageこの機能をサポートするにはconfigureを実行する必要があることがわかりました。


1

Tomasz GandorとDomainが正しいバージョンのsvnを持っていること、およびプレーンテキストのパスワードストレージを有効にするようにコンパイルされていることを強調するために、持っているものを確認する必要があります。

svn --version
svn, version 1.9.7 (r1800392)
...
WARNING: Plaintext password storage is enabled!
...

The following authentication credential caches are available:

* Plaintext cache in /gr/home/ffvdqb/.subversion
* GPG-Agent

対:

svn --version
svn, version 1.12.2 (r1863366)
...

The following authentication credential caches are available:

* Gnome Keyring
* GPG-Agent
* KWallet (KDE)

お使いのバージョンのsvnがプレーンテキストのパスワードストレージで有効になっていることがわかったら、残りのすべての回答をここに適用します。


1

私はWindowsでTortoiseSVNクライアントを使用しており、私にとっては、store-passwordsパラメーターをyesに設定しています%USERPROFILE%\AppData\Roaming\Subversion\configても、パスワードの保存に役立ちません。

このフォルダを削除した後、パスワードは正常に保存されました(名前を変更する場合に備えて):

%USERPROFILE%\AppData\Roaming\Subversion\auth

環境:

Windows 7, TortoiseSVN 1.7.11 (Build 23600 - 64 bit, 2012-12-12T19:08:52), Subversion 1.7.8.

0

残念ながら、答えは保護された秘密鍵でssh + svnのパスワードを要求する問題を解決しませんでした。いくつかの調査の後、私は見つけました:

ssh-add

Linuxコンピュータを使用している場合はユーティリティ。キーが保存されていることを確認し/home/username/.ssh/、ターミナルでこのコマンドを入力します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.