Skip to main content

Error: Bad file number

This error usually means you were unable to connect to the server. Often this is caused by firewalls and proxy servers.

When running remote Git commands or SSH, your connection might time out:

$ ssh -vT
> OpenSSH_8.1p1, LibreSSL 2.7.3
> debug1: Connecting to [] port 22.
> debug1: connect to address port 22: Connection timed out
> ssh: connect to host port 22: Connection timed out
> ssh: connect to host port 22: Bad file number

Solving the issue


Often, the simplest solution is to simply avoid SSH entirely. Most firewalls and proxies allow HTTPS traffic without issue. To take advantage of this, change the remote URL you're using:

$ git clone
> Cloning into 'reponame'...
> remote: Counting objects: 84, done.
> remote: Compressing objects: 100% (45/45), done.
> remote: Total 84 (delta 43), reused 78 (delta 37)
> Unpacking objects: 100% (84/84), done.

Test from a different network

If you can connect the computer to another network that doesn't have a firewall, you can try testing your SSH connection to GitHub. If everything works as it should, contact your network administrator for help on changing the firewall settings to allow your SSH connection to GitHub to succeed.

Using SSH over the HTTPS port

If using HTTPS is not an option, and your firewall admin refuses to allow SSH connections, you can try using SSH over the HTTPS port instead.

Further reading