2011-01-28 13 views
5

私は水銀のリポジトリにssh publickey認証を使用しています。だから私は持っている:シングルHGリポジトリ用に複数のssh IDを設定するには?

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

私の.hgrc。これは正常に動作し、私はSSH認証されたレポにプッシュ/プルすることができます。しかし、別の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 

答えて

3

sshの独自のツール:ssh-agentを使用しています。

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

その後、あなたはsshがすべてであなたの.hgrc[ui]セクションに関連するものを識別する必要はありません。

あなたができる代わりに:非常に多くの方法は、それはあなたのログインスクリプトを入れて一日、それを呼び出す価値がありますに

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

が、ssh-agentのに便利です。あなたの~/.ssh/config

+1

私は 'ssh = ssh -i〜/ .ssh/id_rsa -i〜/ .ssh/otherid_rsa -C'だと思いますが、それ以外の場合はssh使用エラーが発生します。 –

+0

は間違いありません。ありがとう。 –

8

、指定されたIDファイルを使用するホストsomeserver.comまたはotherserver.comに接続するためにsshを使用して(hgとインタラクティブ使用を含む)

Host someserver.com 
IdentityFile ~/.ssh/id_rsa 

Host otherserver.com 
IdentityFile ~/.ssh/otherid_rsa 

と誰を追加します。

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

関連する問題