TortoiseHgにパスワードを保存する


200

パスワードを保存するようにTortoiseHgを構成する方法はありますか?

TortoiseHgを使用してアクセスするGoogle Codeでホストされているプロジェクトがあります。Googleコードに変更をプッシュしたいときはいつでもTortoiseHgがユーザー名とパスワードの入力を求めてきます。Google Codeでは自動生成されたパスワードを使用する必要があり、毎回それを調べるのはかなり繰り返しになります。

回答:


70

セキュリティ警告

この回答は2017-09-15の時点で受け入れられていますが、推奨されるソリューションではありません。パスワードをプレーンテキストで保存しないでください。mercurial_keyring代わりに拡張機能を使用してください。ここで別の回答を参照してください。


プッシュURLをhttps:// username:password@hostname.com/repoに変更できます

これは、Google CodeMercurialの FAQで説明されています

編集:Mercurial FAQはそれを行う別の方法を説明しています:

Mercurial 1.3では、authセクションをhgrcファイルに追加することもできます。
[auth]
example.prefix = https://hg.example.net/
example.username = foo
example.password = bar

51
これは悪い答えです!プレーンテキストのパスワードをファイルに保存しないでください... !! mercurial_keyringを使用する(投票数が多い)もう1つのオプションは、正しい唯一の方法です。
Lars Corneliussen

6
+1。これhg pushは非破壊的であることを考えると(常にhg strip望ましくない変更セットが存在する可能性があります)、リモートリポジトリへのプッシュは、ほとんど特権のある操作ではありません。そのため、セキュリティへの影響を認識している限り、プレーンテキストのパスワードストレージで十分であることがよくあります。
セーレンLøvborg

4
問題は、誰かがリポジトリを回復不能に破損する可能性があることではありません。問題は次のとおりです。(1)ユーザーはパスワードを再利用するため、誰かがこのテキストファイルに到達すると、無関係のリソースにアクセスできるようになります。(2)ソースコードに任意のハッキングが潜入する可能性があります...(3)コードは秘密である可能性があり(すべての開発がオープンソースであるとは限りません)、盗まれることは必ずしも楽しいとは限りません。
最大

6
@max 1)理論的には正しいかもしれませんが、OPは自動生成されたパスワードを使用していると明確に述べています2)バージョン管理がこれを停止し、チェックインされたすべての変更を確認できます。これはどのように問題になるのでしょうか?3)誰かがあなたのコンピュータに保存されている平文のパスワードにアクセスできる場合、彼らもあなたのコードにアクセスできます。パスワードはドングルにコードをダンプするだけなので、ここでは意味がありません。
goldenratio 2012

4
@LarsCorneliussenこれは悪い答えではありません。すべてのユースケースにそのレベルのセキュリティが必要なわけではありません。これと同じように、キーリング拡張はオプションです。
Cypher

265

既存の回答はどちらも、ユーザー名とパスワードをプレーンテキスト暗号化せずに保存することを推奨しています。これは少々ノーノーです。

キーリング拡張は、認証パスワードを安全に保存するために特別に設計されているため、代わりに使用する必要があります。TortoiseHgにはすでにバンドルされているので、mercurial.iniファイルに次のように書き込んでアクティベートするだけです。

[extensions]
mercurial_keyring=

以下の例のように、リポジトリ固有の.hg \ hgrcファイルを編集して、ユーザー名をプッシュURLに関連付ける必要もあります。

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

ユーザー名とURLの関連付けの詳細については、キーリング拡張ページのリポジトリ設定(SMTP)セクションをご覧ください。


2
私はこのソリューションを試したところ、Windows 7でうまく機能しました。ありがとう!
mateuscb 2011年

私にとってはうまくいきますが、[auth]という見出しの下にユーザー名を含めるか、username @ hostのようなリポジトリへのパスを変更する必要があると思います(上記のキーリングリンクに従って)
Tom Carver

1
良い答え、間違いなく進むべき道。
vobject 2011年

Webプロキシの背後にいる場合、ユーザー名とパスワードの保存についてはどうですか?
Seth

3
正しい方法は、authセクションを使用してユーザー名を構成することです。リポジトリパスに認証情報を[auth] \n bitbucket.org.prefix = bitbucket.org \n bitbucket.org.username = schlamar
含め

150

3つのステップ、スクリーンショットを見る。 注:これにより、パスワードがプレーンテキストで保存されます。

ここに画像の説明を入力してください


37
これもパスワードをプレーンテキストで保存しているようです-鍵リング拡張を有効にすると、パスワードフィールドが無効になります
Vlad Iliescu

5
httpsプロトコルを使用している場合にのみ機能し、httpに設定すると南京錠がなくなります。
Despertar 2013年

受け入れられたレガシーの答えはひどいです、これは緑の生意気なはずです!
ウィリアムT.マラード


2

ローカルリポジトリのディレクトリhgrc内のファイルを.hg次のように変更するだけです。

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

ここで、nameはgmail / googlemailビットなしのGoogle Codeログインで、たとえば「fredb」(fredb@gmail.comではない)、passwordはGoogleが生成したパスワード、yourprojはGCプロジェクトの名前です。したがって、次のようなもの:

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

11
パスワードをプレーンテキストで保存しないでください。絶対に!mercurial_keyringを使用します-TortoiseHGはパスワードを1回要求するだけです。
Lars Corneliussen

1
決して決して言わない:)はい、SSHキーはキーリングよりも望ましいです。キーリングはプレーンテキストよりも望ましいですが、実際にはさまざまな状況があります。PSは「キーリング」の回答とこの回答の両方に賛成票を投じました。
Alex Shesterov 2016年

0

これは私がを使用して動作しますSSH。パスワードはプレーンテキストであることはわかっていますが、このプロジェクトでは問題ありません。資格情報とTortoisePlink.exeへのパスのmyUserとMyOPasを変更する必要があります。mercurial.iniを編集します

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

0

パスワードをmercurial.iniに保存する必要があり、TortoiseHg 4.9以降にアップグレードした後、パスワードが機能しなくなった場合は、プレフィックスにポートを追加することで解決できます。

[auth]
tax.prefix = http://server:8080
tax.username = cerveser
tax.password = mypassword
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.