权限被拒绝(publickey)致命:无法从远程存储库读取。 同时克隆Git存储库

我无法克隆一个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 

并存在存储库。

它看起来像一个权限问题 – 不是Windows 7的问题。

你的ssh密钥没有被授权 – Permission denied (publickey)

您需要创build一个公共ssh密钥,并要求Git存储库的pipe理员添加ssh公钥

有关如何执行此操作的信息: 保存ssh密钥失败

对于刚刚尝试获取存储库但不关心协议(ssh / https)的人来说,您可能只想使用https而不是ssh (如果支持的话)。

所以例如你使用

 git clone https://github.com/%REPOSITORYFOLDER%/%REPOSITORYNAME%.git 

代替

 git clone git@github.com:%REPOSITORYFOLDER%/%REPOSITORYNAME%.git 

如果在创buildSSH并将其添加到您的Bitbucket帐户或任何地方后仍然存在问题,则需要在GitBash,OSX或Linux上执行以下操作:

 ssh-add -l 

然后,如果您没有看到列出的密钥,请添加:

 ssh-add ~/.ssh/identity 

这对我有效。

我也面临同样的问题。 我做了以下,它为我工作:

  1. 从Windows上的GIT GUI客户端生成密钥。 将此密钥复制到剪贴板。
  2. bitBucket/ git网站上打开您的帐户,并将此密钥添加到您的个人资料。 这样,服务器就知道你是从合法系统访问的合法用户。
  3. 而已。 所有的推送命令从此为我工作。

我面临与GitHub相同的问题。 这很容易解决。

  1. 在您的计算机上生成SSH密钥,如下所述: 生成SSH密钥 。
  2. login你的GitHub帐户: GitHublogin 。
  3. 在您的帐户中,添加新生成的SSH密钥: 我的帐户SSH密钥 。
  4. 再次尝试git clone该项目。

Github(或者Bitbucket)在他们的服务器上找不到你的ssh密钥。

只需在您的帐户设置中添加您的密钥。

我在Mac上遇到了这个问题 – 在重新启动后(而且有些时候Mac处于停顿状态),我正确地设置了SSH来访问我的Git存储库,所有的凭据都被删除了。 显然,由于某种原因,pub key被设置为644,导致它被从keychain中删除。 阅读:

  • chmod 600公钥
  • ssh-add ~/.ssh/[your private key] – 这应该显示已添加身份。 你想要的密钥文件是没有.pub扩展名的文件。
  • ssh-add -l显示你新增的身份

编辑:显然MacOS具有删除键的趋势 – 下载后高Sierra的更新(但我还没有安装它)我的钥匙已被删除,我不得不通过ssh-add再次ssh-add

您需要通过运行ssh-keygen -t rsa来创build一个新的ssh密钥。

从Windows命令行运行git clone命令时遇到同样的问题。 但是该命令从Git Bash成功运行。

我得到了错误…

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

…当我试图从Git Bash提示与Bitbucket进行联系后,我的笔记本电脑死于Windows 10的不正常更新,并返回到出厂设置。 我从备份中恢复了所有的ssh文件。

计算机重build后,错误的原因certificate是我的Windows帐户名称不匹配。 我了解到,公钥文件id_rsa.pub以一个易读的string结尾,其中包含我的Windows帐户名称,后跟@符号,然后是计算机名称。

当我最初设置我的电脑时,我创build了我的Windows帐户名称,包括我的初始名称,但是当我的电脑重置为出厂设置时,我们新的DevOps人员创build了我的帐户名称,但没有中间名。

为了解决这个问题,我简单地编辑了我的公钥文件id_rsa.pub并在末尾删除了名字中的中间部分。 我坚持使用相同的计算机名称,所以没问题。 我将文件内容复制到Windows剪贴板。 然后,我login到Bitbucket,去我的头像Bitbucket设置,并添加一个新的公共密钥粘贴在新的内容。

回到Git Bash提示符,我确认了它现在通过input命令来工作…

 ssh -T git@bitbucket.org 

…我收到了我login的消息。

对于我来说,当我想从我的存储库克隆 ,我有相同的信息之前发现“权限被拒绝(公钥)致命:无法读取远程存储库”。 我的情况下解决scheme是不克隆之前使用sudo就是这样。

如果全部失败,就像我一样,卸载GIT,重新安装。 出于某种原因,这修复。

PS

  1. 我尝试生成新的密钥和SSH公钥更新
  2. 还尝试删除所有的密钥,并试图创build一个新的密钥。
  3. 而不,没有错,我的.gitconfig

在克隆时,我有一个类似的问题[我的错误:权限被拒绝(公钥)。 致命的:无法从远程存储库读取。 请确保你有正确的访问权限..等等]

– 在我的情况下,我使用的是bitBucket / UBUNTU14.04,但是ALREADY有一组我以前生成的密钥文件,而且我更改了文件的名称。 我只是将文件复制到标准的id_rsa&id_rsa.pub名称格式。 然后,我重新运行命令与问题。

OBTW我也可以使用HTTP风格的克隆来使用密码提示。

我在Linux上有类似的问题。 我通过login到github服务器并创build一个部署密钥解决了这个问题。 这是在存储库的设置。 然后,我复制并粘贴我的公钥(通常在〜/ .ssh / id_rsa.pub中,但是您的configuration可能不同)。 有一个checkbox来给这个密钥写入权限。 点击它(除非你使用git来部署,在这种情况下,不要点击它)。

如果您生成新的公共ssh密钥并将其插入到bitbucket或github和

它没有帮助 – 请尝试重新启动您的电脑 。 它帮助了我!

在macOS中:要进行身份validation,您需要在您的用户设置中将您的SSH密钥对的公共部分添加到bitbucket:用户设置 – > SSH密钥在您的〜/ .ssh目录中,通常是id_rsa.pub它将帮助您生成一个,如果你还没有一个

在mac中,你需要把这个添加到你的〜/ .ssh / config文件中

 Host bitbucket.org IdentityFile ~/.ssh/my_key_filename 

其中my_key_filename是您的SSH密钥对的私有部分,如果您还没有搞砸它,通常默认名称是:id_rsa

这可能是愚蠢的,但它发生在我们身上:

如果您正在使用bitbucket和Sourcetree,而您只是将克隆URL粘贴到新的回购对话框,则在拉动或推动时会显示相同的错误。

确保你在URL之前删除了“git clone”。