我们正在客户的 VPN 上部署一个项目。
我们必须做一个共同的
git clone git@bitbucket.org:<username>/<repo_name>.git
Run Code Online (Sandbox Code Playgroud)
实际上我们不能,因为 git 无法到达 bitbucket。
我们解决了第一个问题,要求服务器必须能够解析 bitbucket.org,因此服务器必须联系“wan”中的 dns。
但现在客户基础设施的维护人员询问我们要开放哪些端口。
我没有这个答案,所以我好心地问你:为什么我必须要求打开端口才能从 bitbucket 克隆存储库?
在 Git 中, 形式的位置[user@]server:path
被解释为SSH地址(“克隆”工具实际上ssh [user@]server
在后台运行)。
默认情况下,SSH 连接到端口22/tcp,这是标准 SSH 端口。Git 不会改变这一点,BitBucket 的 SSH 服务同样需要标准端口 22/tcp 上的连接。
但是,BitBucket 还有一个备用服务器,altssh.bitbucket.org
它接受端口 443/tcp 上的 SSH 连接(通常是 HTTPS 端口,并且通常已被允许)。为了使用它(例如,如果您的系统管理员不想允许标准端口 22),您可以通过创建包含~/.ssh/config
以下内容的重定向连接:
Host bitbucket.org
HostName altssh.bitbucket.org
Port 443
HostkeyAlias bitbucket.org
Run Code Online (Sandbox Code Playgroud)
另一种替代方法是通过实际的HTTPS(使用端口 443/tcp)克隆存储库,使用https://
可以在存储库页面上找到的常规 URL。缺点是它需要使用密码(或一些特殊令牌)并且不支持 SSH 密钥对。(但另一方面,对于公共存储库来说,它可能比 SSH 更方便。)
git clone https://<username>@bitbucket.org/<username>/<repo_name>.git
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4316 次 |
最近记录: |