記事のバージョン: Enterprise Server 2.17
エラー: Bad file number
このエラーは通常、サーバーに接続できなかったことを示します。 よくある原因はファイアウォールとプロキシサーバーです。
リモート Git コマンドや SSH の実行時に、接続がタイムアウトする場合があります:
$ ssh -vT git@hostname
> OpenSSH_5.8p1, OpenSSL 1.0.0d 8 Feb 2011
> debug1: Connecting to hostname [207.97.227.239] port 22.
> debug1: connect to address 207.97.227.239 port 22: Connection timed out
> ssh: connect to host hostname port 22: Connection timed out
> ssh: connect to host hostname port 22: Bad file number
問題の解決
HTTPS を使用する
最もシンプルな解決策は、単に SSH を一切回避することです。 多くのファイアウォールやプロキシでは、HTTPS トラフィックを問題なく許可しています。 これを活かすには、使用しているリモート URL を変更します。
$ git clone https://hostname/username/reponame.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 Enterprise への SSH 接続をテストしてみることができます。 想定通りにすべてが機能する場合は、ネットワーク管理者に問い合わせし、ファイアウォール設定で GitHub Enterprise への SSH 接続が成功するように許可するよう、サポートしてもらってください。