您的位置:首页 > 编程语言

ssh: connect to host github.com port 22: Bad file number

2014-08-27 14:32 246 查看
81
down vote
favorite
32

I followed the
git guide but I have this strange issue when trying to connect to github:

$ 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

This is my config file under .ssh

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

Any idea?

Kind regardsMassimo

git

github
ssh
share|improve
this question
edited
Aug 5 '13 at 2:09





Amir Ali Akbari

1,15711123

asked
Aug 22 '11 at 8:29




Massimo Ugues

1,06522036

Got this today. And it seems Github was down. –

ysrb Apr
27 at 15:38
add a comment

15 Answers

active

oldest
votes

up vote
119
down vote
accepted
After having this problem myself i found a working solution for me.

Error message:

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

You will only see the bad file number message when on windows using the MINGGW shell. Linux users will just get Timed out.

Problem:

SSH is probably blocked on port 22. You can see this by typing

$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

As you can see the state is Filtered, which means something is blocking it.You can solve this by performing an SSH to port 443 (your firewall / isp wont block this).Whats also important that you need to ssh to "ssh.github.com" instead of github.com.Else
you will report to the webserver instead of ssh server.Below all the steps needed to solve this problem.

Solution:

(First of all make sure you generated your keys like explained on http://help.github.com/win-set-up-git/)
create file ~/.ssh/config (ssh config file located in your user directory. On windows probably C:\Users\USERNAME\.ssh\config

Paste the following code in it:

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

Save the file.

Perform ssh like usual:

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

Note that i dont have to supply the username nor port number.

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: