Git SSH hatası: "Ana bilgisayara bağlan: Hatalı dosya numarası"

git kılavuzunu]1 takip ettim ancak github'a bağlanmaya çalışırken bu garip sorunu yaşıyorum:

$ ssh -v git@github.com
OpenSSH_4.6p1, OpenSSL 0.9.8e 23 Feb 2007
debug1: Reading configuration data /c/Documents and Settings/mugues/.ssh/config
debug1: Applying options for github.com
debug1: Connecting to github.com [207.97.227.239] port 22.
debug1: connect to address 207.97.227.239 port 22: Attempt to connect timed out without establishing a connection
ssh: connect to host github.com port 22: Bad file number

Bu benim .ssh altındaki yapılandırma dosyam

Host github.com
    User git
    Hostname github.com
    PreferredAuthentications publickey
    IdentityFile "C:\Documents and Settings\mugues\.ssh\id_rsa"
    TCPKeepAlive yes
    IdentitiesOnly yes

Bir fikrin var mı?

Çözüm

Bu sorunu ben de yaşadıktan sonra, benim için işe yarayan bir çözüm buldum:

Hata mesajı:

    ssh -v git@github.com
    OpenSSH_5.8p1, OpenSSL 1.0.0d 8 Feb 2011
    debug1: Connecting to github.com [207.97.227.239] port 22.
    debug1: connect to address 207.97.227.239 port 22: Connection timed out
    ssh: connect to host github.com port 22: Connection timed out
    ssh: connect to host github.com port 22: Bad file number

Hatalı dosya numarası mesajını yalnızca Windows'ta MINGGW kabuğunu kullanırken görürsünüz. Linux kullanıcıları sadece Zaman aşımına uğradı mesajı alırlar.

Sorun:

SSH muhtemelen 22 numaralı bağlantı noktasında engellenmiştir. Bunu yazarak görebilirsiniz

    $nmap -sS github.com -p 22
    Starting Nmap 5.35DC1 ( http://nmap.org ) at 2011-11-05 10:53 CET
    Nmap scan report for github.com (207.97.227.239)
    Host is up (0.10s latency).
    PORT   STATE    SERVICE
    22/tcp ***filtered*** ssh

    Nmap done: 1 IP address (1 host up) scanned in 2.63 seconds

Gördüğünüz gibi durum Filtrelenmiş, bu da bir şeyin onu engellediği anlamına geliyor. Bunu 443 portuna SSH yaparak çözebilirsiniz (güvenlik duvarınız / isp'niz bunu engellemeyecektir). Ayrıca github.com yerine "ssh.github.com" adresine ssh yapmanız önemlidir. Aksi takdirde, ssh sunucusu yerine web sunucusuna rapor verirsiniz. Aşağıda bu sorunu çözmek için gereken tüm adımlar yer almaktadır.

Çözüm:

(Öncelikle anahtarlarınızı http://help.github.com/win-set-up-git/ adresinde açıklandığı gibi oluşturduğunuzdan emin olun)

~/.ssh/config dosyasını oluşturun (ssh yapılandırma dosyası kullanıcı dizininizde bulunur. Windows'ta muhtemelen %USERPROFILE%\.ssh\config

Aşağıdaki kodu içine yapıştırın:

    Host github.com
    User git
    Hostname ssh.github.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa
    Port 443

Dosyayı kaydedin.

Her zamanki gibi ssh gerçekleştirin:

$ssh -T github.com 
    $Enter passphrase for key '.......... (you can smile now :))

Kullanıcı adı veya bağlantı noktası numarası vermem gerekmediğini unutmayın.

Yorumlar (9)

Bulduğum şey, bağlantınız zayıf olduğunda bunun gerçekleştiği. Birkaç dakika önce repoma push yaparken bunu yaşadım, başarısız olmaya devam etti ve bundan bir süre sonra bağlantı kesildi.

Geri geldikten sonra, itme işlemi hemen gerçekleşti.

Bunun sizin ya da onların tarafındaki bir bağlantı kopmasından kaynaklanabileceğine inanıyorum.

Yorumlar (3)

GitHub Yönetim arayüzünüz aracılığıyla genel anahtarlarınızı yayınladığınızı iki kez kontrol edin.

Ardından 22 numaralı bağlantı noktasının bir şekilde engellenmediğinden emin olun (bu soruda gösterildiği gibi)

Yorumlar (2)