5

Mercurial リポジトリに ssh publickey 認証を使用しています。ので、私は持っています:

[ui]
ssh = ssh -i ~/.ssh/id_rsa -C 

私の.hgrcで。これは正常に機能し、ssh 認証済みリポジトリにプッシュ/プルできます。ただし、別の ID を必要とする別のレポにプッシュ/プルできるようにしたいと考えています。ID が特定のパスに関連付けられるように .hgrc ファイルを構成するにはどうすればよいですか。私は次のようなものが欲しいと思います:

[ui]
one.prefix = someserver.com
one.ssh = ssh -i ~/.ssh/id_rsa -C
two.prefix = otherserver.com
two.ssh = ssh -i ~/.ssh/otherid_rsa -C
4

2 に答える 2

8

~/.ssh/configに、追加します

Host someserver.com
IdentityFile ~/.ssh/id_rsa

Host otherserver.com
IdentityFile ~/.ssh/otherid_rsa

ホストへの接続に使用する、または指定された ID ファイルを使用するすべてのユーザー (hgインタラクティブな使用を含む)。sshsomeserver.comotherserver.com

ssh_configその他のオプションについては、 を参照してください。

于 2011-01-29T05:10:28.430 に答える
3

ssh 独自のツールである ssh-agent を使用して実行します。

$ eval $(ssh-agent)
$ ssh-add ~/.ssh/id_rsa
$ ssh-add ~/.ssh/otherid_rsa

.hgrc次に、の[ui]セクションに関連するものを ssh で識別する必要はまったくありません。

または、次のこともできます。

[ui]
ssh = ssh -i ~/.ssh/id_rsa -i ~/.ssh/otherid_rsa -C

しかし、ssh-agent は非常に多くの点で便利なので、ログイン スクリプトに入れて 1 日で終了する価値があります。

于 2011-01-29T03:49:38.610 に答える