2015-07-27 9 views
5

Bardzo prawdopodobnie istotną informacją jest to, że mam niestandardową konfigurację ssh dla bitbucket. W moim „.ssh/config” pliku mam następujące:Klucz publiczny ssh Bitbucket jest odmawiany, ale jego test ssh łączy się bez problemu.

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

uprawnienia do tego pliku są zdecydowanie poprawna o ile dotyczy ssh (I aktywnie wykorzystywać inne wpisy w pliku konfiguracyjnym). Teraz, kiedy dodałem zdalne źródło w git użyłem bitbucket zamiast bitbucket.org:

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

ale gdy próbuję naciskać pojawia się następujący błąd:

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

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

Więc wydaje się, że nie zrobił mi dodaj mój klucz publiczny czy coś takiego, prawda? Ale zdecydowanie to zrobiłem. A gdy szukasz więcej informacji, znajdziesz tę stronę o błędzie (https://confluence.atlassian.com/pages/viewpage.action?pageId=302811860). A kiedy robię to, co mówią, aby sprawdzić klucz:

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

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

Może zalogować się dobrze, jak się wydaje. Więc ... dlaczego nie pchasz pracy? Powyższy link wspomina, że ​​może to być problem z uprawnieniami na samym projekcie, ale ustawiam uprawnienia zgodnie z sugestią ludzi i nic nie zrobił. Ktoś wie, co się dzieje?

Odpowiedz

6
ssh -T [email protected] 

Państwo wykorzystać [email protected] podczas logowania przez SSH, ale w pilocie Adres URL dodany do Git, nie określasz nazwy użytkownika. Ponieważ konfiguracja również nie zawiera jednego, Git nie będzie wiedział, z jakiej nazwy użytkownika się logować.

Zmień adres URL do tego:

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

Alternatywnie, można dodać użytkownika do konfiguracji ssh:

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

Dziękuję, to było kłopotliwe. – Ivanna

3

Jeśli tak to:

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

Nie powiedziałeś git że musi połączyć jako coś innego niż nazwa użytkownika. Można to zrobić w pliku .ssh/config tak:

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

lub w wierszu poleceń git remote add jak ten:

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

dobrze, to 'git @', że używa nie git 'hg' . – Will

+0

Jeśli przejdziesz do pytania (w/wyjście z bitbucket), zobaczysz, że albo powinien działać. Ponieważ OP używa "hg @" w pytaniu, utknąłem z tym. Zgadzam się, że to jest mylące. Po prostu zaktualizuję odpowiedź. – larsks

+0

Ach, rozumiem. Dzięki za wytłumaczenie! – Will

Powiązane problemy