2011-11-17 7 views
8

J'avais Ubuntu 10.04 et récemment mis à jour vers 11.10. Des clés SSH supplémentaires ont cessé de fonctionner. J'ai les clés bitbucket et github, que j'ai dans les sites Web. Comment puis-je dire à SSH d'utiliser une clé particulière pour Bitbucket et une autre pour GitHub?Comment utiliser la clé spéciale SSH pour BitBucket et GitHub pour pousser/tirer?

Alors, j'ai une config:

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

Quand j'appelle ssh bitbucket, ssh se connecte avec succès avec la clé et se mis à la porte. Mais quand j'essaye hg pull, je vois "aucune réponse de la distance hg." et le mot de passe n'est pas demandé.

Que peut-on faire?

Répondre

10

Pour la petite explication sur la raison pour laquelle la configuration affichée dans la question ne fonctionne pas, mais votre réponse ne:

Lorsque vous appelez ssh bitbucket, ssh regarde dans votre config fichier pour un hôte nommé bitbucket qui est défini avec le mot-clé Host. Ensuite, en utilisant le mot-clé HostName, vous pouvez définir le réel nom d'hôte à utiliser. Dans votre cas, vous définissez bitbucket comme un alias pour le 207.233.240.182 IP que je suppose est celui pour bitbucket.org

Il ne fonctionnait pas pour vos commandes mercuriels parce que le serveur distant est probablement défini comme bitbucket.org et non l'alias bitbucket. Après avoir changé le fichier de configuration à celui proposé dans votre réponse, ssh peut effectivement faire correspondre le serveur distant au nom d'hôte et tout va bien!

Pour votre information, vous pouvez également utiliser générique pour le filtrage, par exemple:

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

travaillerait aussi, parce que quand on regarde la configuration, SSH remplacera le * avec quoi que ce soit d'autre.

+0

A été lecture très utile, merci! –

1

Je n'ai pas essayé assez dur! La clé est là maintenant. La solution a été d'ajouter .org à l'hôte:

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

Si vous avez plusieurs clés, pensez à ajouter l'option IdentitiesOnly yes. –

Questions connexes