由于缺少 public 键,无法从 bitbucket 克隆

Cannot clone from bitbucket due to missing public key

我正在使用 bitbucket,但在我的笔记本电脑上我无法使用 git 克隆存储库。我收到一个错误:

Permission denied(publickey).

我该如何解决这个问题?我不记得设置了 public 键,但如果我设置了,显然它不起作用。 (我正在使用 windows。)

这只是意味着 Git 在 %HOME%/.ssh 中找不到 public/private 键。
这反过来意味着 shhd(服务器上的 ssh 守护进程)在服务器 ~git/.ssh/authorized_keys.

中找不到匹配的 public 密钥

例如,您可以确保使用 https url(这是 OP 打算使用的):

cd c:\path\to\my\repo
git remote set-url origin https://bitbucket.org/<owner>/<repo>

关于 known_hosts,一个简单的 ssh -T git@bitbucket.org 将解决这个问题:

$ ssh -T git@bitbucket.org
The authenticity of host 'bitbucket.org (131.103.20.168)' can't be established.
RSA key fingerprint is 97:8c:1b:f2:6f:14:6b:5c:3b:ec:aa:46:46:74:7c:40.
Are you sure you want to continue connecting (yes/no)?

添加 'yes' 和 bitbucket.org 将添加到 ~/.ssh/known_hosts
然而,在没有注册的 public 密钥的情况下,结果仍然是相同的。

Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'bitbucket.org,131.103.20.168' (RSA) to the list of known hosts.
Permission denied (publickey).

Git 上的 bash for Windows 并不奇怪:

  • msysgit/Git for windows 1.9.5中的gitbash是旧的:

    GNU bash, version 3.1.20(4)-release (i686-pc-msys)
    Copyright (C) 2005 Free Software Foundation, Inc
    

但是随着 phasing out of msysgit (Q4 2015) and the new Git For Windows (Q2 2015), you now have Git for Windows 2.4.4.
它有一个 更近的 bash,基于 64bits msys2 project, an independent rewrite of MSYS, based on modern Cygwin (POSIX compatibility layer) and MinGW-w64 with the aim of better interoperability with native Windows software. msys2 comes with its own installer too.

  • gitbash现在是(加上new Git For Windows):

    GNU bash, version 4.3.33(3)-release (x86_64-pc-msys)
    Copyright (C) 2013 Free Software Foundation, Inc.
    

Bitbucket 具有 SSH 和 HTTPS 访问权限。

此外,当您单击其网站上的克隆按钮时,您还会看到它还为您提供了一个 URL(对于 https)。

如果仍有问题,请咨询您的存储库 owner/admin。