1

さまざまな ssh キーを使用して、さまざまなプロジェクトを bitbucket から複製する方法を見つけようとしています。ssh_config を使用してみましたが、単一の特定のホストの接続に対してのみ別の ssh キーを定義することができました。

私が達成したいことは

bitbucket.org/myteam1/myprojectのキー A

bitbucket.org/myteam2/myotherproject のキー B

これで私を助けることができますか?

4

3 に答える 3

2

最後に、私にとっての最善の解決策は、オプションを使用し、その-e sshcommand中にオプションを使用して、-i key必要な秘密鍵を指定することであることがわかりました。

于 2012-12-27T00:30:07.900 に答える
1

ssh-agent を使用する最も簡単な方法です。ssh-agent を実行しているときに、すべてのキーを追加すると、1 つが機能するまでそれぞれのキーが試行されます。あなたのOSはすでにssh-agentを実行している可能性が非常に高いので、試してみてください

ssh-add /path/to/key1
ssh-add /path/to/key2

次に、接続しようとすると、いずれかのキーが機能する場合に.

eval $(ssh-agent)

次に、2 つのキー ファイルを追加します。

何らかの理由で ssh-agent を使用することに耐えられない場合は、少しトリッキーな.ssh/configファイルを使用して回避策を見つけました。このようなもの:

Host myteam1.bitbucket.org
    Hostname bitbucket.org
    HostKeyAlias bitbucket.org
    IdentityFile ~/.ssh/keyA


Host myteam2.bitbucket.org
    Hostname bitbucket.org
    HostKeyAlias bitbucket.org
    IdentityFile ~/.ssh/keyB

hg clone ssh://hg@myteam2.bitbucket.org/myteam2/myproject次に、 sshなどの偽のホスト名を使用して URL を複製またはプッシュすると、実際のホスト名と正しいキーが交換されます。

しかし、実際には、ssh-agent代わりに使用してください。

于 2012-11-13T01:20:18.780 に答える
0

リポジトリ hgrc レベルでキーをオーバーライドできます

Mercurial の構成ファイルを参照してください。

于 2012-11-12T22:57:11.537 に答える