Как использовать специальный ключ SSH для BitBucket и GitHub для push/pull?

у меня Ubuntu 10.04 и недавно обновлен до 11.10. Дополнительные ключи SSH перестали работать. У меня есть ключи!--1--> и github, который у меня есть на веб-сайтах. Как я могу сказать SSH использовать один конкретный ключ для Bitbucket и другой для GitHub?

Итак, у меня есть конфигурация:

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

когда я называю ssh bitbucket, ssh успешно входит в систему с ключом и получает выгнан. Но когда я пытаюсь hg pull, Я вижу " нет ответа от удаленного hg."и пароль не спросил.

что можно сделать?

2 ответов


для небольшого объяснения того, почему конфигурация, опубликованная в вопросе, не работает, но ваш ответ:

когда вы называете ssh bitbucket, ssh ищет в вашем конфигурационном файле хост с именем bitbucket который определяется с помощью Host ключевое слово. Затем, используя HostName ключевое слово, вы можете определить реальные имя хоста для использования. В вашем случае, вы определяете bitbucket в качестве псевдонима для IP 207.233.240.182, который я предполагаю, является одним для bitbucket.org

это не было работа для ваших команд mercurial, потому что удаленный сервер, вероятно, определен как bitbucket.org и не псевдоним bitbucket. После того, как вы изменили файл конфигурации на предложенный в вашем ответе, ssh может эффективно сопоставить удаленный сервер с именем хоста, и все в порядке !

FYI, вы также можете использовать подстановочный знак для сопоставления шаблонов, например:

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

также будет работать, потому что при просмотре конфигурации SSH заменит * на что угодно еще.


Я недостаточно старался! Ключ теперь там. Решением было добавить .org для размещения:

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