7

私は自分のプロジェクトで mercurial を使用していますが、新しい変更セットを ssh でサーバーにプッシュするたびに、パスワードを要求されます。
次に、パスワードを要求せずにプッシュするようにマーキュリアルを設定する方法は?

私はUbuntu 9.10で作業しています

4

3 に答える 3

15

Linux および Mac では、 を使用しますssh-agent

  1. ssh キーペアがあることを確認します (詳細については、を参照man ssh-keygenしてください)。
  2. 公開鍵を ( から~/.ssh/id_dsa.pub) リモート マシンにコピーし、一意の名前 ( などmyhost_key.pub)を付けます。
  3. 通常どおりリモート マシンにログインし、コピーしたばかりの公開鍵を~/.ssh/authorized_keysファイルに追加します。
  4. ローカル ワークステーションで実行ssh-addしてキーチェーンにキーを追加します

hg認証を必要とせずに、このセッションで任意のリモート コマンドを使用できるようになりました。

于 2010-08-29T09:59:32.773 に答える
9

Windows を使用していると仮定して、私のMercurial/SSH ガイドを読んでください。投稿の一番下に、PuTTyを使用してこれを行う方法に関する情報があります。

編集: - これが私が話している投稿の一部です (これが機能するには、キーが既に読み込まれている状態でページェントを実行する必要があることに注意してください):


クライアント: Mercurial のセットアップ

まだインストールしていない場合は、デフォルト設定を使用してクライアント マシンに 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 プログラム自体が舞台裏で行っていることのコマンドライン バージョンです。また、いくつかのパラメーターを追加します。

  • -ssh : SSH プロトコルを使用していることを示します。
  • -i "file.ppk" : リモート サーバーへのログインに使用する秘密鍵ファイルの場所を指定します。これを変更して、ローカルの putty 互換の ppk 秘密鍵を指すようにします。パスの区切り記号にも必ずスラッシュを使用してください。
  • -C : このスイッチは圧縮を有効にします。
  • -agent : これは plink に pageant ユーティリティと対話してキーのパスフレーズを取得するように指示します。対話的に要求するのではありません。

クライアントはロックする準備が整いました!

于 2010-08-29T09:50:15.017 に答える
0

パテをインストールします。

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/

于 2015-05-30T23:10:53.770 に答える