跳至主要内容

错误:文件号错误

此错误通常表示你无法连接到服务器。这通常是由防火墙和代理服务器造成的。

运行远程 Git 命令或 SSH 时,你的连接可能会超时

$ ssh -vT [email protected]
> OpenSSH_8.1p1, LibreSSL 2.7.3
> 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

解决问题

使用 HTTPS

通常,最简单的解决方案就是完全避免 SSH。大多数防火墙和代理服务器允许 HTTPS 流量通过,无需担心。要利用此功能,请更改你正在使用的远程 URL

$ git clone https://github.com/USERNAME/REPO-NAME.git
> 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.

从不同的网络进行测试

如果你可以将计算机连接到没有防火墙的另一个网络,则可以尝试测试你与 GitHub 的 SSH 连接。如果一切正常,请联系你的网络管理员,寻求帮助,以更改防火墙设置,允许你的 SSH 连接成功连接到 GitHub。

通过 HTTPS 端口使用 SSH

如果使用 HTTPS 不是一个选项,并且你的防火墙管理员拒绝允许 SSH 连接,则可以尝试通过 HTTPS 端口使用 SSH

延伸阅读