私は自分のプロジェクトで mercurial を使用していますが、新しい変更セットを ssh でサーバーにプッシュするたびに、パスワードを要求されます。
次に、パスワードを要求せずにプッシュするようにマーキュリアルを設定する方法は?
私はUbuntu 9.10で作業しています
Linux および Mac では、 を使用しますssh-agent
。
man ssh-keygen
してください)。~/.ssh/id_dsa.pub
) リモート マシンにコピーし、一意の名前 ( などmyhost_key.pub
)を付けます。~/.ssh/authorized_keys
ファイルに追加します。ssh-add
してキーチェーンにキーを追加しますhg
認証を必要とせずに、このセッションで任意のリモート コマンドを使用できるようになりました。
Windows を使用していると仮定して、私のMercurial/SSH ガイドを読んでください。投稿の一番下に、PuTTyを使用してこれを行う方法に関する情報があります。
編集: - これが私が話している投稿の一部です (これが機能するには、キーが既に読み込まれている状態でページェントを実行する必要があることに注意してください):
まだインストールしていない場合は、デフォルト設定を使用してクライアント マシンに Mercurial をインストールしてください。Mercurial パスをシステム PATH に追加するようにインストーラーに指示してください。
クライアントの構成の最後のステップは、SSH を使用するときに PuTTy ツールを使用するように Mercurial に指示することです。Mercurial は、.hgrc と呼ばれるユーザー固有の構成ファイルで構成できます。Windows では、Mercurial.ini とも呼ばれます。ファイルはホーム フォルダにあります。ホーム フォルダーがわからない場合は、コマンド プロンプトを開いて「echo %USERPROFILE%」と入力するだけで、パスがわかります。
構成をまだ設定していない場合は、構成ファイルが存在しない可能性があります。したがって、作成する必要があります。ホーム フォルダに .hgrc または Mercurial.ini という名前のファイルを手動で作成し、テキスト エディタで開きます。私の一部は次のようになります。
[ui]
username = OJ Reeves
editor = vim
ssh = plink -ssh -i "C:/path/to/key/id_rsa.ppk" -C -agent
最後の行が重要であり、これが適切に設定されていることを確認するために必要なものです。Mercurial に plink プログラムを使用するように指示しています。これも PuTTy に付属しており、PuTTY プログラム自体が舞台裏で行っていることのコマンドライン バージョンです。また、いくつかのパラメーターを追加します。
クライアントはロックする準備が整いました!
パテをインストールします。
Windows を使用している場合はprojectdir/.hg/hgrc
、お気に入りのテキスト エディターで開きます。次のように編集します。
[paths]
default = ssh://hg@bitbucket.org/name/project
[ui]
username = Your Name <your@email.com>
ssh = "C:\Program Files (x86)\PuTTY\plink.exe" -ssh -i "C:\path\to\your\private_key.ppk" -C -agent
プッシュに永遠に時間がかかる場合は、サーバーが質問をしようとしている可能性があります (ただし、表示されません)。
これを実行します:
"C:\Program Files (x86)\PuTTY\plink.exe" -T hg@bitbucket.org -i "C:\Program Files (x86)\PuTTY\plink.exe" -ssh -i "C:\path\to\your\private_key.ppk"
質問に答えてから、もう一度押してみてください。
Bitbucket を使用している場合は、puttygen で秘密鍵を開き、上部のテキスト ボックスから公開鍵をコピーして、ユーザー アカウントに追加します: https://bitbucket.org/account/user/USERNAME/ssh-keys/