Ich hatte Ubuntu 10.04 und vor kurzem auf 11.10 aktualisiert. Zusätzliche SSH-Schlüssel funktionieren nicht mehr. Ich habe Schlüssel bitbucket
und github
, die ich in den Websites habe. Wie kann ich SSH mitteilen, einen bestimmten Schlüssel für Bitbucket und einen anderen für GitHub zu verwenden?
Also, ich habe eine Konfiguration:
%Vor% Wenn ich ssh bitbucket
aufruft, meldet sich ssh erfolgreich mit dem Schlüssel an und wird rausgeschmissen. Aber wenn ich hg pull
versuche, sehe ich "keine Antwort von remote hg." und die Passphrase wird nicht gefragt.
Was kann getan werden?
Für die kleine Erklärung, warum die in der Frage gepostete Konfiguration nicht funktioniert, aber Ihre Antwort:
Wenn Sie ssh bitbucket
aufrufen, sucht ssh in Ihrer Konfigurationsdatei nach einem Host namens bitbucket
, der mit dem Schlüsselwort Host
definiert ist. Dann können Sie mit dem Schlüsselwort HostName
den zu verwendenden echten Hostnamen definieren. In Ihrem Fall definieren Sie bitbucket
als Alias für die IP 207.233.240.182, von der ich annehme, dass sie für bitbucket.org
Es hat nicht für Ihre mercurial-Befehle funktioniert, da der Remote-Server wahrscheinlich als bitbucket.org
und nicht als Alias bitbucket
definiert ist. Nachdem Sie die Konfigurationsdatei auf die in Ihrer Antwort vorgeschlagene Datei geändert haben, kann ssh den Remote-Server effektiv mit dem Hostnamen abgleichen und alles ist in Ordnung!
Zu Ihrer Information, Sie können auch Platzhalter für die Mustererkennung verwenden, zum Beispiel:
%Vor%Würde auch funktionieren, denn wenn man auf die Konfiguration schaut, wird SSH das * durch etwas anderes ersetzen.