我无法克隆一个Git存储库,并得到这个错误:

krishna.soni@KRISHNACHANDRAS /c/Projects $ git clone http://stage.abc.com:10088/pqr
http://<url>/<repository> Cloning into '<repository>'... fatal: could not read Username for 'http://<url>': No such file or directory

我读过Bitbucket, Windows和“致命:无法读取密码”,但仍然有问题。

我继续前进,但现在得到这个错误

sh.exe": chown: command not found

krishna.soni@KRISHNACHANDRAS /c
$ git clone ssh://krishna.sonipayu.in@stage.payupaisa.
/projects
Cloning into 'C:/projects'...
Permission denied (publickey).
fatal: Could not read from remote repository.

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

> krishna.soni@KRISHNACHANDRAS /c
>     $ git clone ssh:<url>
>     ts
>     Cloning into 'C:/projects'...
>     Permission denied (publickey).
>     fatal: Could not read from remote repository.

Please make sure you have the correct access rights

并且存储库存在。


当前回答

我也犯了同样的错误。我的解决方案是注销并再次登录,因为我的ssh-agent已经与远程ssh密钥不同步。

在这里加上这个,以防有人看到其他答案似乎不适用于他们的情况。

其他回答

对于Fedora 33+和Bitbucket用户:

出现这个问题是因为哈希算法过时了。正如Bitbucket上提到的,有两种选择:

选项1:

添加到~/。ssh / config文件。(如果文件不存在,就创建它。)

Host bitbucket.org
  PubkeyAcceptedKeyTypes +ssh-rsa

选项2:

使用更安全的算法。

ssh-keygen -t ed25519 -C "your_email@example.com"

在为gitlab设置ssh时,我也遇到了同样的问题。我已经有ssh的github和我不能覆盖。 对我有效的步骤是:

生成带有新路径的SSH并添加到SSH列表SSH -add /path/to/new/id_rsa。 在~/中创建一个名为config的文件。ssh /使用。我使用vi ~/.ssh/config/。 将其添加到新创建的文件中

GitLab com服务器 主机gitlab。com RSAAuthentication赛 IdentityFile path / to / new / id_rsa

保存并退出。

在那之后,重新启动终端并尝试按,它应该工作

您可以尝试将ssh密钥添加到您的私有密钥链中。这对我很有效

ssh-add -K ~/.ssh/[your-private-key]

我也面临着同样的问题。我做了下面的事情,它对我很有效:

从Windows上的GIT GUI客户端生成密钥。将此密钥复制到剪贴板。 在bitBucket/ git网站上打开您的帐户,并将此密钥添加到您的配置文件中。这样,服务器就知道您是从合法系统访问的合法用户。 就是这样。从此以后,所有的推命令都对我有用。

macOS / Linux (Ubuntu):

1. 要进行身份验证,您需要从您的用户设置中将您的SSH密钥对的公共部分添加到bitbucket:用户设置——> SSH密钥

你可以在你的~/中找到上述公共部分。SSH目录,通常为id_rsa。酒吧。注意文件名的.pub部分为Public。 如果你还没有,它会帮助你生成一个

你还没有完成…

2. 您需要让系统知道对哪个远程主机使用哪个键,因此将这些行添加到~/中。ssh / config文件

Host bitbucket.org
 IdentityFile ~/.ssh/PRIVATE_KEY_FILE_NAME

其中PRIVATE_KEY_FILE_NAME是您的SSH密钥对的私有部分的名称,如果您没有乱动它,通常它的默认名称是:id_rsa 在这种情况下,将上面的PRIVATE_KEY_FILE_NAME替换为id_rsa(私钥没有.pub扩展名)