2011-11-17 18 views
8

Avevo Ubuntu 10.04 e recentemente aggiornato a 11.10. Le chiavi SSH aggiuntive hanno smesso di funzionare. Ho le chiavi bitbucket e github, che ho nei siti web. Come posso dire a SSH di usare una particolare chiave per Bitbucket e un'altra per GitHub?Come utilizzare la chiave SSH speciale per BitBucket e GitHub per spingere/tirare?

Così, ho un config:

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

Quando chiamo ssh bitbucket, ssh registra con successo con la chiave e viene cacciato. Ma quando provo hg pull, vedo "nessuna risposta da remote hg." e la passphrase non viene richiesta.

Cosa si può fare?

risposta

10

Per la piccola spiegazione sul motivo per cui la configurazione scritto in questione non funziona, ma la risposta fa:

Quando si chiama ssh bitbucket, ssh appare nella vostra configurazione file per un host denominato bitbucket definito con la parola chiave Host. Quindi, utilizzando la parola chiave HostName, è possibile definire il nome host reale da utilizzare. Nel tuo caso, si sta definendo bitbucket come un alias per il 207.233.240.182 IP che presumo è quello per bitbucket.org

Non funzionava per i comandi Mercurial perché il server remoto è probabilmente definito come bitbucket.org e non lo pseudonimo bitbucket. Dopo aver modificato il file di configurazione in quello proposto nella risposta, ssh può effettivamente abbinare il server remoto al nome host e tutto va bene!

FYI, è anche possibile utilizzare caratteri jolly per il pattern matching, per esempio:

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

potrebbe anche funzionare, perché quando guardando il config, SSH sostituirà il * con qualsiasi altra cosa.

+0

È stata una lettura molto utile, grazie! –

1

Non ci ho provato abbastanza! La chiave è lì ora. Soluzione era quella di aggiungere .org per ospitare:

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

Se si dispone di più chiavi, è consigliabile aggiungere l'opzione Identities Only yes. –

Problemi correlati