2015-07-27 7 views
5

Eine ziemlich wahrscheinlich relevante Information ist, dass ich eine benutzerdefinierte SSH-Konfiguration für bitbucket eingerichtet habe. In meinem ‚.ssh/config‘ Datei habe ich die folgenden:Bitbucket ssh öffentlichen Schlüssel wird verweigert, aber ihre SSH-Test verbindet sich mit keinem Problem

[[email protected]]$ cat ~/.ssh/config 
Host bitbucket 
    Hostname  bitbucket.org 
    IdentityFile /home/ivanna/.ssh/id_rsa_bitbucket 
    IdentitiesOnly yes 

Die Berechtigungen für diese Datei so weit auf jeden Fall richtig sind als ssh betroffen ist (ich benutze andere Einträge in der Konfigurationsdatei aktiv). Nun, wenn ich die Fernbedienung Ursprung in git hinzugefügt habe ich bitbucket statt bitbucket.org:

git remote add origin bitbucket:ivanna/my-repo.git 

aber wenn ich versuche, schiebe ich die folgende Fehlermeldung erhalten:

Permission denied (publickey). 
fatal: Could not read from remote repository. 

Please make sure you have the correct access rights 
and the repository exists. 

So scheint es, wie ich didn füge meinen öffentlichen Schlüssel nicht hinzu, oder? Aber ich habe es definitiv getan. Und wenn Sie nach mehr Information suchen, finden Sie diese Seite über den Fehler (https://confluence.atlassian.com/pages/viewpage.action?pageId=302811860). Und wenn ich mache, was sie sagen, um den Schlüssel zu überprüfen:

[[email protected]]$ ssh -T [email protected] 
logged in as ivanna. 

You can use git or hg to connect to Bitbucket. Shell access is disabled. 

Es kann gut einloggen, scheint es. Also ... warum drängt Arbeit nicht? Der obige Link erwähnt, dass es ein Berechtigungsproblem für das Projekt selbst sein könnte, aber ich setze die Berechtigungen so, wie es die Leute vorgeschlagen haben, und es hat nichts getan. Weiß jemand was los ist?

Antwort

6
ssh -T [email protected] 

Sie [email protected] verwenden, wenn in über SSH anmelden, aber in der Fernbedienung URL, die Sie zu Git hinzufügen, geben Sie keinen Benutzernamen an. Da die Konfiguration auch keinen enthält, weiß Git nicht, mit welchem ​​Benutzernamen er sich anmelden möchte.

Ändern Sie die URL dieses:

git remote add origin [email protected]:ivanna/my-repo.git 

Alternativ können Sie den Benutzer auf SSH Config hinzu:

Host bitbucket 
    Hostname  bitbucket.org 
    User   git 
    IdentityFile /home/ivanna/.ssh/id_rsa_bitbucket 
    IdentitiesOnly yes 
+0

Danke, das war peinlich. – Ivanna

3

Wenn Sie dies tun:

git remote add origin bitbucket:ivanna/my-repo.git 

Sie haben git nicht gesagt, dass es als etwas anderes als Ihre Benutzername verbinden muss. Man könnte dies wie dies in Ihrer .ssh/config Datei tun:

Host bitbucket 
    User git 
    Hostname  bitbucket.org 
    IdentityFile /home/ivanna/.ssh/id_rsa_bitbucket 
    IdentitiesOnly yes 

oder in Ihrem git remote add Befehlszeile wie folgt:

git remote add origin [email protected]:ivanna/my-repo.git 
+0

Nun, es ist 'git @', er ist mit Git nicht 'hg' . – Will

+0

Wenn Sie gehen und lesen Sie Frage (mit der Ausgabe von bitbucket) werden Sie sehen, dass entweder funktionieren sollte. Da das OP 'hg @' in der Frage verwendet, blieb ich dabei. Ich stimme zu, es ist verwirrend. Ich werde nur die Antwort aktualisieren. – larsks

+0

Ah, ich verstehe. Danke fürs klarstellen! – Will

Verwandte Themen