将具有非标准端口号的 SSH 存储库克隆到 SourceTree

Posted

技术标签:

【中文标题】将具有非标准端口号的 SSH 存储库克隆到 SourceTree【英文标题】:Clone SSH repository with non-standard port number to SourceTree 【发布时间】:2016-03-25 17:19:12 【问题描述】:

我花了大约 20 分钟来解决这个问题。

我收到了一个存储库的 SSH 地址的电子邮件。至关重要的是,它有一个非标准(即不是 22)端口号: git@domain.com:1234/opt/git/repository.git

我以为我可以将其复制粘贴到 SourceTree 中,但不断收到 This is not a valid source path / URL 错误消息。

当我仔细查看日志时,错误是它正在服务器上寻找路径 1234/opt/git/repository.git - 它正在将 端口号 视为路径的一部分。显然没有找到 repo。

【问题讨论】:

【参考方案1】:

解决方案有点奇怪:

    使用 ssh://git@domain.com:1234:/opt/git/repository.git 之类的路径。 附加ssh://,并在端口号后添加: 似乎成功充当分隔符,并且在服务器上(如预期的那样)找到了路径/opt/git/repository.git。 Add the domain/port number to your config file(例如~/.ssh/config)使其看起来像这样:

Host domain.com Port 1234

【讨论】:

我在运行 Git 服务器的 Synology NAS 上尝试了您的答案。但是,我必须删除端口号后的“:”才能获得有效的 URL。因此,对我来说是(使用你的例子): ssh://git@domain.com:1234/opt/git/repository.git 与@Peter 报告的情况相同。

以上是关于将具有非标准端口号的 SSH 存储库克隆到 SourceTree的主要内容,如果未能解决你的问题,请参考以下文章

通过 SSH 创建 Git 存储库并将其克隆到本地

如何使用私钥克隆 GIT 存储库

从 Dockerfile 克隆私有 git 存储库

如何通过 SSH 连接到具有相同 IP 和不同 SSH 端口号的两个不同 Linux SSH 主机(docker)

GitLab 所有存储库 ssh 克隆 url 显示错误的路径

如何从 Docker 容器克隆 Git 存储库