2013-08-27 18 views
7

Używam Bitbucket, a ja konfiguracji ssh na git zgodnie z instrukcjami tutaj Linux (Ubuntu 13.04) https://confluence.atlassian.com/pages/viewpage.action?pageId=270827678Git SSH klucz publiczny odmawia

Kiedy próbuję sklonować jednego dowolnego projektu z mojego konta Bitbucket chociaż , Otrzymuję błąd odmowy klucza publicznego

[email protected]:/var/www/git$ sudo git clone [email protected]:MyAccount/MyProject.git 
Cloning into 'MyProject'... 
Permission denied (publickey). 
fatal: Could not read from remote repository. 

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

Dodałem klucz publiczny do mojego konta bitbucket.

Kiedy próbuję "ssh -T [email protected]", tylko wtedy terminal poprosi mnie o wpisanie mojego hasła i otrzymam nazwę mojego konta jako odpowiedź.

[email protected]:/var/www/git$ ssh -T [email protected] 
logged in as MyUsername. 

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

Czy brakuje mi czegoś?

UPDATE:

Klonowanie w $ HOME działa dobrze. Problem polega na konieczności użycia sudo w/var/www/git. W jaki sposób zmieniam uprawnienia, aby uniknąć używania sudo?

+0

Czy można klonować do katalogu domowego bez używania sudo? – michas

+0

Nie. Daje mi to - fatalne: nie udało się stworzyć drzewa pracy dir 'easydial' .: Odmowa dostępu –

+0

Czy próbowałeś klonować do $ HOME, lub/var/www/git? (prawdopodobnie masz pozwolenie na pisanie do pierwszej, ale nie do ostatniej.) – michas

Odpowiedz

12

Użyj ssh-add $keyfile, aby dodać swój klucz prywatny do agenta.

Następnie użyj ssh-add -L, aby wyświetlić klucz publiczny dla tego klucza. - Sprawdź, czy pasuje do tego dodanego do twojego konta bitbucket.

Teraz próba ssh do bitbucket powinna skutkować zalogowaniem za pomocą klucza, tj. nr hasło jest potrzebne.

Również git clone przez ssh powinien działać teraz.

Korzystanie z sudo prawdopodobnie nie jest dobrym pomysłem. Z pewnością obetnie połączenie z twoim agentem i zmieni $ HOME/.ssh, dlatego ssh rozpoczęte przez sudo nie będzie w stanie użyć twojego klucza. Możesz użyć sudo -E, aby zachować swoje środowisko. W takim przypadku klucz powinien nadal działać.

+0

Wciąż ten sam błąd. Ale teraz widzę 2 klucze na ssh-add -L. W zasadzie ten sam klucz. Jeden kończy się na /home/omk/.ssh/id_rsa, a drugi na omk @ home-pc. –

+0

W jaki sposób mogę uniknąć używania sudo. Wyczuwam, że to jest problem. –

+0

Właśnie znalezione. Użycie klona na $ HOME działa dobrze. W dowolny sposób mogę zmienić uprawnienia dla/var/www/ –

Powiązane problemy