【问题标题】:git clone ssh permission deniedgit clone ssh 权限被拒绝
【发布时间】:2021-02-15 21:33:09
【问题描述】:

我按照https://help.github.com/articles/generating-ssh-keys 的说明进行操作 并输入

ssh -T git@github.com

我收到消息

Hi username! You've successfully authenticated, but GitHub does not
# provide shell access.

当我尝试使用 ssh 克隆存储库时

git clone ssh://github.com/username/repository.git

我明白了

Permission denied (publickey).
fatal: The remote end hung up unexpectedly

如果我输入

ssh-add -l

我看到 3 个密钥,一个附有我的电子邮件地址 (k1),另外 2 个附在 ~/.ssh/id_rsa (RSA) 内(k2 和 k3)。 密钥 k3 与 k1 相同

如果我输入

ssh -vT git@github.com

一切都很好......唯一让我思考的是

debug1: Remote protocol version 2.0, remote software version libssh-0.6.0
debug1: no match: libssh-0.6.0

【问题讨论】:

  • 这非常有用,因为 git 错误只是说“权限被拒绝”。当我确认 ssh 设置工作正常时,我意识到问题是由于权限问题,git 无法在当前文件夹中创建目录。
  • 就我而言,我只需要先cd ~/.ssh/ssh-add <name-of-key>,然后就可以克隆了。

标签: git ssh


【解决方案1】:

git clone ssh://github.com/username/repository.git 是错误的。你应该这样做:

git clone ssh://git@github.com/username/repository.git

或者更好:

git clone git@github.com:username/repository.git

【讨论】:

    【解决方案2】:

    这个非常难以描述的错误意味着服务器拒绝了您的连接。 Github 有一个非常丰富的文档 -

    https://help.github.com/articles/error-permission-denied-publickey

    更新-

    检查是否按照 GitHub 提供的说明正确设置了密钥和令牌。如果我是你,请从头开始。可能是您没有使用 Github 正确初始化 SSH 密钥 -

    cd ~/.ssh && ssh-keygen cat id_rsa.pub

    并将密钥复制到 Github 网站的 SSH 设置中。

    要通过 SSH 克隆 Git 存储库,您可以像这样指定 ssh:// URL:

    $ git clone ssh://user@server/project.git

    或者您可以对 SSH 协议使用较短的类似 scp 的语法:

    $ git clone user@server:project.git

    只是想确保您从 Github 帐户中复制了正确的 SSH 克隆 URL -

    【讨论】:

    • @gabboshow 看到上面的更新了吗?无论您遇到什么困难,请从头开始再次按照文档步骤操作,看看您是否正确执行。
    【解决方案3】:

    如果它是一个公共存储库,则可以通过使用带有 fetch url 的 git 协议来避免整个密钥的事情。

    git clone git://github.com/username/repository.git
    

    【讨论】:

    【解决方案4】:

    --------- WINDOWS 用户解决方案 ------

    在windows中遇到同样的问题,解决如下:

    在为 git 成功设置私钥/公钥后,您需要导航到:

    C:\Program Files\Git\etc\ssh

    -- 打开它下面的 ssh-config 文件并添加以下信息:

    Host github.com
    User git
    IdentityFile << absolute path to your private key for git >>
    

    -- 重新启动 power shell 并尝试再次克隆存储库

     git clone  <<url copied from git repo>>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-15
      • 2018-04-15
      • 1970-01-01
      • 2021-11-09
      • 2015-12-25
      • 2021-11-11
      • 2015-10-29
      • 2020-07-02
      相关资源
      最近更新 更多