【问题标题】:Cloning a git repo using SSH使用 SSH 克隆 git 存储库
【发布时间】:2017-08-07 23:29:36
【问题描述】:

我正在尝试使用 SSH 克隆 git 存储库。因此,我在本地机器上创建了一个 ssh 密钥对,并在我的 git repo(即 Bitbucket 服务器)上添加了公钥。

然后,正如我看到的here,我尝试像这样克隆:

git clone ssh://my_username@my-repository.com:7999/my_project.git

git clone ssh://git@my-repository.com:7999/my_project.git

但是这些选项不起作用:

Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

我唯一的进步就是尝试这个:

git clone my_username@my-repository.com:7999/my_project.git

这要求我输入密码 3 次,然后失败。我怀疑这虽然不使用SSH, 因为我认为 SSH 不应该要求输入密码。

Password:
Password:
Password:
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,keyboard-interactive).
fatal: Could not read from remote repository.

那么如何使用 SSH 克隆 git repo?

编辑

我在 Windows 上并且正在使用 Git Bash。

ssh-add -l

返回

The agent has no identities.

【问题讨论】:

  • Bitbucket 私有服务器还是云托管服务器?
  • 什么操作系统——Windows? Linux?操作系统?
  • @patricksteele Windows。我更新了问题。
  • @LasseV.Karlsen Bitbucket PRIVATE 服务器

标签: git ssh


【解决方案1】:

大多数服务器都希望用户使用“git”用户名和他们自己的用于识别目的的私钥进行身份验证。

尝试使用 SSH 连接:

ssh ${USERNAME}@${SERVER} -p ${PORT}

这将确定您是否能够对服务器进行身份验证,从等式中删除 git。

你的私钥在哪里?如果不是~/.ssh/id_rsa(或配置的路径),那么您需要提供它的路径。试试这个:

ssh ${USERNAME}@${SERVER} -p ${PORT} -i ${MY_PRIVATE_KEY}

如果这可行,那么您可以将 SSH 配置设置为更方便。 在~/.ssh/config 你可以这样写:

Host ${FRIENDLY_NAME}
    User ${USERNAME}
    Hostname ${SERVER}
    Port ${PORT}
    IdentityFile ${MY_PRIVATE_KEY}

然后您可以像这样测试连接:

ssh ${FRIENDLY_NAME}

最后:

git clone ssh://${FRIENDLY_NAME}/${REPO_PATH}

如果端口不是默认端口 (22),您只需指定端口。

注意:我使用了波浪号 (~),因为在我写答案时您没有指定 Windows。您可以通过按 Win+R,输入点 .,然后按回车键找到您在 Windows 上的“主”目录。这通常会将您带到C:\Users\%USERNAME%

【讨论】:

  • 对于ssh ${USERNAME}@${SERVER} -p ${PORT} -i ${MY_PRIVATE_KEY},我得到shell request failed on channel 0。
  • 成功!不是一个非常友好的人,但仍然。
【解决方案2】:

您确定此主机上的 ssh 在端口 7990 上工作吗?如果这个 repo 在 bitbucket 上,那么我几乎可以肯定你可以使用 ssh 的默认端口

git clone my_username@my-repository.com/my_project.git

就像在git with bitbucket中一样

【讨论】:

  • Bitbucket 服务器位于7990。我在代码的某处找到了一个使用7999 的git ssh 命令。我尝试了两个端口,但没有成功。
  • 您是否查看过本指南:confluence.atlassian.com/bbkb/…?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-01-26
  • 1970-01-01
  • 2019-10-03
  • 1970-01-01
  • 2016-08-15
  • 2013-07-14
  • 1970-01-01
相关资源
最近更新 更多