Как использовать специальный ключ 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