【问题标题】:gitLab: certificat issue, missing ssh public keygitLab:证书问题,缺少 ssh 公钥
【发布时间】:2020-04-17 01:26:01
【问题描述】:

我不明白它是如何工作的以及需要做什么。

我有一个 GitLab 帐户,并成功生成了私有和公共证书,以便提供对它的访问。我按照https://gitlab.com/help/ssh/README#generating-a-new-ssh-key-pair 的描述完成了所有步骤。现在我决定创建一个新项目并在 gitLab 项目和我在本地创建的项目之间同步状态。因为我可以访问用于创建两个证书的机器,所以我只需将公钥从一台机器(位于 ~/.ssh 文件夹中)复制到我正在使用的当前机器(在 ~/.ssh 文件夹中)。但它没有任何效果。我什至无法执行 git clone 命令。

~> git clone git@gitlab.com:[myUser]/[myProject].git
Cloning into 'gate-controller'...
git@gitlab.com: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

我试图找出原因并执行了

~> ssh -vT git@gitlab.com

但老实说,我无法解释这种反应。我没有在 ssh 文件夹中看到对我的公钥文件的任何引用。

您能否支持我解决问题并理解,问题是什么?

提前多谢

更新:

【问题讨论】:

    标签: ssh gitlab certificate


    【解决方案1】:

    您在尝试从中拉/推的任何机器上都需要私钥。当使用具有您的公钥的服务进行身份验证时(任何 git 服务,如 Github、Gitlab 等都将拥有),您需要在身份验证时使用您的私钥。

    您可以在此处https://www.ssh.com/pki/ 阅读有关 ssh(不使用 HTTPS 身份验证时 git 使用的)和 PKI(公钥基础设施)的更多信息

    【讨论】:

    • 嗨亚当,非常感谢您的回复。如果我的观点正确,这个想法背后的概念是为每个连接提供密钥。这意味着如果我需要从第三台机器上使用 GitLab,我必须为每台机器(主机)生成新的密钥组合并将公钥共享给 GitLab。
    • 您不一定必须使用单独的密钥(如果他们共享它仍然可以使用),但最好将它们分开。
    猜你喜欢
    • 2017-08-30
    • 1970-01-01
    • 1970-01-01
    • 2020-07-14
    • 1970-01-01
    • 1970-01-01
    • 2011-10-27
    • 2019-03-08
    • 1970-01-01
    相关资源
    最近更新 更多