2011-11-17 6 views
8

私はUbuntu 10.04を持っていて、最近11.10にアップグレードしました。追加のSSHキーが機能しなくなりました。私はbitbucketgithubのキーを持っています。これはウェブサイトにあります。 BitbucketとGitHubのために特定のキーを使用するようにSSHに指示するにはどうすればよいですか?BitBucketとGitHubに特別なSSH鍵を使用してプッシュ/プルする方法は?

だから、私は設定を持っている:私はssh bitbucketを呼び出すとき

Host bitbucket 
HostName 207.223.240.182 
User hg 
IdentityFile ~/.ssh/bitbucket 

、sshは成功し、キーでログインして追い出されます。しかし、私がhg pullを試してみると、「リモートからの応答なし」と表示されます。パスフレーズは聞かれません。

何ができますか?

答えて

10

質問に投稿された設定が機能しない理由について少し説明のためではなく、あなたの答えはありません:

あなたがssh bitbucketを呼び出すと、sshはあなたの設定になりますファイルキーワードで定義されたbitbucketという名前のホストのファイル。次に、HostNameキーワードを使用して、実際のホスト名を使用するように定義できます。あなたのケースでは、私は、リモート・サーバは、おそらくbitbucket.orgないとして定義されているので、それはあなたのMercurialコマンドのために働いていなかったbitbucket.org

するためのものであると仮定IP 207.233.240.182の別名としてbitbucketを定義していますエイリアスbitbucket。設定ファイルをあなたの答えで提案されたものに変更した後で、sshはリモートサーバとホスト名を効果的にマッチさせることができます。

FYI、あなたはまた、例えば、パターンマッチングにワイルドカードを使用することができます。configを見たときに、SSHは何かを*に置き換えられますので

Host bitbucket.* 
    HostName 207.223.240.182 
    User hg 
    IdentityFile ~/.ssh/bitbucket 

も、働くだろう。

+0

非常に有用な読書でした、ありがとう! –

1

私は十分に頑張っていませんでした!鍵は今そこにある。ソリューションは、ホストする.orgを追加しました:

Host bitbucket.org 
User hg 
IdentityFile ~/.ssh/bitbucket2 
+1

鍵が多い場合は、「IdentitiesOnly yes」オプションを追加することを検討してください。 –