svnコンソールから操作するときにSubversionのパスワードを保存する方法があるかどうか疑問に思っていました。コンソールが唯一の選択肢です。たとえばsvn commit、Subversionアクションを実行しようとすると、毎回アカウントパスワードの入力を求められます。このパスワードを何らかの方法で保存して、毎回再入力する必要がないようにする方法はありますか?
svnコンソールから操作するときにSubversionのパスワードを保存する方法があるかどうか疑問に思っていました。コンソールが唯一の選択肢です。たとえばsvn commit、Subversionアクションを実行しようとすると、毎回アカウントパスワードの入力を求められます。このパスワードを何らかの方法で保存して、毎回再入力する必要がないようにする方法はありますか?
回答:
では~/.subversion/config、おそらくあなたは持っていstore-passwords = noます。これをyes(またはデフォルトでyesになっているのでコメントアウトする)に変更し、次にSubversionにパスワードを与えると、パスワードが保存されます。
の所有者と権限~/.subversion/configが正しいことを確認する必要がある場合があります(パブリックまたはグループアクセスなし、600)。
Red Hat Linux 2.6.18。それがどこにある可能性がありますか?
                    /etc/subversion/configシステムの作成後、期待どおりに動作します。ありがとう
                    store-passwordsオプションconfigは現在非推奨configです。それはの同じオプションに置き換えられていますservers。)
                    使用しているプロトコルによって異なります。SVN + SSHを使用している場合、SVNクライアントはパスワードに決して触れないため、SVNクライアントはパスワードを保存できません。SSHクライアントは直接パスワードを要求します。この場合、SSHキーとssh-agentを使用して、一定のプロンプトを回避できます。svnserveプロトコルまたはHTTP(S)を使用している場合、SSHクライアントがパスワードを処理しており、それを保存できます。
.ssh/config、公開鍵をSVNサーバーに追加できます。
                    .subversionホームディレクトリのフォルダをクリアして、もう一度コミットしてみてください。パスワードの入力が求められ、パスワードを保存するかどうかを尋ねられます。
~/.subversion/serversファイルの次の段落に注意してください。
「store-passwords」と「store-auth-creds」の両方を、configディレクトリの「servers」ファイルで指定できるようになりました。このセクションで指定されたものはすべて、「servers」ファイルで指定された設定によって上書きされます。
少なくともSVNバージョン1.6.12用です。したがって、serversファイルをオーバーライドするときにも編集することを忘れないでください~/.subversion/config。
svn + sshを使用する場合は、公開sshキーをリモートマシンにコピーできます。
ssh-copy-id user@remotehost
              Ubuntuの新規インストールでは、これらの素晴らしい答えはどれもうまくいきませんでした。代わりに、この答えからの手がかりが私にとってはトリックでした。
私はこれを空に設定することで「シンプルな」パスワードストアを許可する必要がありました~/.subversion/config:
password-stores =
既存の設定はなかったため、空であることは重要です。
これに加えて:
store-passwords = yes
の中で~/.subversion/servers。
パスワードが他の目的で使用される場合は、プレーンテキストを使用するのは最善の選択ではない可能性があります。
受け入れられた回答はサポートしていますが、私にはうまくいきませんでした。非常に具体的な理由から、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に相談してください;)
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。
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がプレーンテキストのパスワードストレージで有効になっていることがわかったら、残りのすべての回答をここに適用します。
私は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.