inny „SSH łączy się z portem github.com 22 hosta: zły numer pliku”

9

Mam problem z pierwszym połączeniem SSH. Tak, przygotowałem już przewodniki, wypróbowałem już artykuł „Radzenie sobie z zaporami ogniowymi i serwerami proxy”, a problem nadal występuje. Używam Win7 32bit, Zapora systemu Windows jest wyłączona, nie ma żadnych zapór innych firm, ESET Nod32 Antivirus nie blokuje żadnych portów, nie używam żadnego proxy (ani lokalnego proxy).

Oto dzienniki:

  1. Spróbuj zwykłego połączenia SSH

    C:\Users\Mariusz>ssh -vvv [email protected]
    OpenSSH_4.6p1, OpenSSL 0.9.8e 23 Feb 2007
    debug2: ssh_connect: needpriv 0
    debug1: Connecting to github.com [207.97.227.239] port 22.
    debug1: connect to address 207.97.227.239 port 22: Not owner
    ssh: connect to host github.com port 22: Bad file number
    
  2. Spróbuj połączenia NCAT

    C:\Users\Mariusz>ncat github.com 22
    Strange connect error from 207.97.227.239 (10013): No error
    10013 = WSAEACCES
    

    Myślę, że metoda „smart-http-support” nie będzie dla mnie działać, ponieważ nie utworzyłem jeszcze repozytorium.
    Właśnie zrobiłem git initlokalnie i zatrzymałem się na git pushkroku, który zwraca ten sam błąd:

    ssh: connect to host github.com port 22: Bad file number
    fatal: The remote end hung up unexpectedly
    
  3. metoda korkociąg (pierwszy artykuł z twojego przewodnika)

    Podczas PUTTYing (z pageant w bg), po wprowadzeniu loginu - pojawia się błąd (MessageBox):

    Disconnected: No supported authentication methods available
    

    A w terminalu ten komunikat jest drukowany:

    Server refused our key
    

Wygenerowałem klucz poprawnie, używając ssh-keygen.

Nie próbowałem jeszcze metody edytowania, ~/.ssh/configponieważ tak myślałem, ponieważ nie wysłałem niczego do mojego zdalnego repo, więc nie będę w stanie niczego sklonować.

Metoda przekazywania SSH nie będzie dla mnie działać, ponieważ „wymaga dostępu do zewnętrznego serwera SSH”, a ja w tej chwili jej nie mam.

Co jeszcze mogłem zrobić?

Chris Johnsen
źródło
Uwaga: „Twoi przewodnicy” wydają się odnosić do niektórych dokumentów GitHub . Domyślam się, że ten post był początkowo częścią prośby o wsparcie GitHub i został po prostu skopiowany i wklejony do SO.
Chris Johnsen

Odpowiedzi:

7

Możesz użyć metody Smart HTTP. Po prostu postępuj zgodnie z drugim przykładem w instrukcji i użyj wypychania zamiast klonowania. Na przykład:

git push https://[email protected]/mariusz/project.git

Działa dla wszystkich gitpoleceń, które dotyczą zdalnych repozytoriów.

Łatki
źródło
Tak, wygląda na to, że pytający ma pewne problemy z siecią z SSH; Dostęp oparty na HTTP jest prawdopodobnie najlepszym pomysłem. @Mariusz: W GitHub dostęp do „inteligentnego HTTP” zastępuje dostęp do SSH (o ile masz Git 1.6.6 lub nowszy). Wystarczy użyć https://github.com/user/repo.gitadresu URL zamiast git@github:user/repo.git(np. W zdalnej konfiguracji).
Chris Johnsen
czy można zastosować tę technikę także w przypadku github gists?
Mark Heath
@Mark: Wygląda na to, że GitHub w ogóle nie obsługuje HTTP dla Gist. Nie mogłem nawet sklonować nad nim repozytorium Gist.
Łaty