2012-02-29 15 views
5

Na moim komputerze mamhg nie łączy się bitbucket użyciu niestandardowego klucz

.ssh/config:

Host bitbucket 
    HostName bitbucket.org 
    User hg 
    IdentityFile ~/.ssh/id_rsa_pwd 

.hg/hgrc

[paths] 
default = ssh://[email protected]/lohoris/varlibs 

(z systemem OS X 10.6)

Mam dokładnie takie same pliki na serwerze debian, ale podczas gdy "próbuje" logowania powłoki działa na obu:

PTY allocation request failed on channel 0 
conq: logged in as lohoris. 

          You can use git or hg to connect to Bitbucket. Shell access is disabled. 
                            Connection to bitbucket.org closed. 

mercurial połączenie działa tylko na komputerze, podczas gdy z serwera to odmawia współpracy:

[email protected]:~/www/varlibs$ hg pull 
remote: Permission denied (publickey). 
abort: no suitable response from remote hg! 

To jest ten sam komunikat pojawi się, gdy klucz jest nie tak, tylko że nie jest źle z oczywiście (jak już wspomniałem, próbowanie ssh bitbucketdziała).

To jest prawdopodobnie przy użyciu niewłaściwego klucza, ponieważ nawet nie próbuje zadać mi hasło, ale nie mogę pojąć, dlaczego.

Odpowiedz

2

W ścieżce , powinieneś użyć ssh://bitbucket/lohoris/varlibs, a nie ssh://[email protected]/lohoris/varlibs.

+0

Zgodnie z dokumentacją użytkownik powinien być w hg dla mercurial i git dla git. Zobacz https://confluence.atlassian.com/display/BITBUCKET/Użyj+sychochrony+z+Bitbucket#UsetheSSHprotocolwithBitbucket-RepositoryURLformatsbyconnectionprotocol – Sentient

+0

Tak, właśnie to znajduje się w jego pliku '~/.ssh/config'. – Ringding

+0

Rozumiem. Czytam twoją odpowiedź poza kontekstem. Może warto powtórzyć w odpowiedzi, że jego specyficzna konfiguracja "User hg" wpływa na polecenie ssh. – Sentient

4

Jeśli pojawi się komunikat "Odmowa uprawnień (publickey)", oznacza to, że nie można znaleźć klucza publicznego wymaganego do uzyskania dostępu i przekazania serwera. Aby obejść ten problem masz zamiar uruchomić następujące polecenia:

ssh-agent 
ssh-add <full path to your key file> 

ssh -T [email protected] też jest dobra i szybka ssh-debugger

+1

Używanie ssh-agenta działa, ale nie jest to dokładnie to, co chciałem zrobić. Zauważyłem teraz, że 'hg pull -e" ssh -i ~/.ssh/id_rsa_pwd "' działa też, więc domyślam się, że problem polega na tym, że gdy hg używa ssh, ignoruje plik .ssh/config i mimo to idzie z kluczem domyślnym . Co mogę z tym zrobić? –

+3

Dodanie '[ui] ssh = ssh -C -i ~/.ssh/id_rsa_pwd' do' .hg/hgrg' zmyśliło. –

Powiązane problemy