Git clone LFS fails with dial tcp <IP>:<Port>: i/o timeout


アトラシアン コミュニティをご利用ください。


プラットフォームについて: Server と Data Center のみ - この記事は、サーバーおよびデータセンター プラットフォームのアトラシアン製品にのみ適用されます。


Cloning (or any other LFS server interactions) via SSH will fail if the Bitbucket Server has a misconfigured URL. An error message such as the following will be presented to the client:

Post http://<BITBUCKET_SERVER_URL>/scm/myproject/myrepo.git/info/lfs/objects/batch: dial tcp XXX.XXX.XXX.XX:YY: i/o timeout


The command line client is unable to connect to the Bitbucket server instance because the URL is incorrect (i.e. mismatching between the <BITBUCKET_SERVER_URL> and the "Base URL").


This occurs only via SSH, HTTP access is unaffected. This occurs because Git LFS does not actually support SSH; it does however permit that is configured with an SSH "remote" to, via SSH, contact the Bitbucket Server instance and request the HTTP/S URL and an authorisation token. The Bitbucket Server instance will reply with a URL that is based on the configured Base URL.

To resolve this see: Specifying the base URL for Bitbucket Server.

How do SSH remotes work?

The Git LFS Batch API does not directly support SSH, instead Bitbucket Server will redirect clients to a HTTP/S URL. So how does this work?

If using an SSH remote, the client (specifically the LFS filter) will make the following request via SSH for a download request:

git-lfs-authenticate myproject/myrepo.git download

The server will then respond with a JSON document, for example:

    "header": {
        "Authorization": "JWT <...JWT token...>"
    "href": ""


The Git LFS client will then POST a batch request via the returned URL.



最終更新日 2018 年 11 月 2 日


Powered by Confluence and Scroll Viewport.