解決済み、最後の編集を参照
私はSourceForgeリポジトリを持っており、そこにSSHキーを正しく設定しています。正常に動作します。しかし、TortoiseHGを使用して変更をリポジトリにプッシュすると、PPKのパスワードの入力を求められ続けます(保護しているため)。
私はこのように私のPPKについてMercurialに話します:
[ui] ssh = tortoiseplink.exe -ssh -i "c:\ Users \ my_user \ SSH \ my_user.ppk"
しかし、それはPPKのパスワードで私を悩ませ続けます。Mercurial用のKeyRing拡張機能について知っていますが、PPKで機能しますか?
それで...
TortoiseHGを備えたこのPageantツールがあります。どうやら、次のように-agentを指定してTortoiseHGに使用するように指示しているようです。
[ui] ssh = tortoiseplink.exe -ssh -i "c:\ Users \ my_user \ SSH \ my_user.ppk" -agent
私はPageantにキーを追加しましたが、TortoiseHGと同期すると、PageantにPPKを追加したときにすでに述べたにもかかわらず、PPKのパスフレーズを要求されます。
そして私を悩ませているもう一つのことは、ページェントがプログラムの再起動時にすべてのキーを「忘れる」ことです。だからそれはちょっと役に立たない。
そのKeyRing拡張機能を使用してTortoiseHGにPPKを追加し、パスワードをどこかに保存しておく方法はありますか?
これを解決する方法がない場合は、保護されていないPPKを使用するだけだと思いますが、それだけです...
後で編集:
これは、上記のように構成されたTortoiseHG同期ツールを介してプッシュしようとしたときに得られるデバッグ出力です。
%hg --repository C:\ Projects \ MyProject push --debug ssh://echysttas@hg.code.sf.net/p/myproject/code
pushing to ssh://echysttas@hg.code.sf.net/p/myproject/code
running "c:\Program Files\TortoiseHg\TortoisePlink.exe" -agent echysttas@hg.code.sf.net "hg -R p/myproject/code serve --stdio"
sending hello command
sending between command
ここでパスワードリクエストを受け取りますが、パスワードを繰り返したくないのでキャンセルします
リモートhgからの適切な応答がありません[コマンドがコード255MonNov 1920:43:142012を返しました]
後で編集2:
TortoisePlink.exeの代わりにplink.exeを使用している例があることに気づきました。そうですね、plink.exe(Putty Webサイトから直接)も試してみました。これは有望な結果をもたらしました...
sending hello command
sending between command
remote: Passphrase for key "rsa-key-20121118":
remote: Passphrase for key "rsa-key-20121118":
しかし、その後、ここで立ち往生しました。
後で編集3
驚くほど面白い発見::-D。
昇格していないExplorerからTortoiseHGSyncを呼び出していたためにスタックしましたが、昇格したTotalCommanderからPageantを起動しました。Windows 7でUACを使用していますが、それが問題の原因でした。
Pageantがadmin-rightsTotalCommanderから実行されている場合は、そこからTrtoiseHGSyncも起動する必要があります。そうすれば、それは機能します!昇格されていないエクスプローラーからPageantを起動し、そこから同期を実行した場合にも機能します。
終わり!
怠惰なアナグマあなたは怠惰なものでしたが、あなたは興味を示し、私を大いに助けてくれたので、私はまだあなたに答えを与えています。「それは私のマシンで動作する」というのは本当の答えではありませんが、それは確かに私に考えさせられました、そしてあなたの多くの言葉と説明はその輝かしい緑色のチェックマークの価値がありますね?:D。