我无法克隆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 and “fatal: could not read Password for”,但仍有问题。
我继续前进但现在收到此错误
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
并且存储库存在。
答案 0 :(得分:191)
对于那些来到这里只是试图获取存储库但不关心协议(ssh / https)的人,您可能只想使用https而不是ssh (如果是支持)。
例如,您使用
git clone https://github.com/%REPOSITORYFOLDER%/%REPOSITORYNAME%.git
而不是
git clone git@github.com:%REPOSITORYFOLDER%/%REPOSITORYNAME%.git
答案 1 :(得分:65)
如果在创建SSH并将其添加到您的Bitbucket帐户或任何地方后仍存在访问问题,则需要在GitBash,OSX或Linux上执行以下操作:
ssh-add -l
然后,如果您没有看到列出的密钥,请将其添加为:
ssh-add ~/.ssh/identity
这对我有用。
答案 2 :(得分:53)
它看起来像是权限问题 - 而不是Windows 7问题。
您的ssh密钥未获得授权 - Permission denied (publickey)
。
您需要创建一个公共ssh密钥,并要求Git存储库的管理员添加ssh
公钥
有关如何执行此操作的信息:Saving ssh key fails
答案 3 :(得分:14)
我遇到了与 GitHub 相同的问题。这很容易解决。
git clone
项目。答案 4 :(得分:11)
我也面临同样的问题。我做了以下工作,它对我有用:
bitBucket/
git网站上打开您的帐户,并将此密钥添加到您的个人资料中。这样,服务器就知道您是从合法系统访问的合法用户。 答案 5 :(得分:11)
我在Mac上遇到过这个问题 - 当我正确设置SSH以访问我的Git存储库时,重启后(有些时候Mac处于对峙状态),我的所有凭据都被删除了。显然,由于某种原因,pub键设置为644,导致它从keychain中删除。阅读:
chmod 600
公钥ssh-add ~/.ssh/[your private key]
- 这应该显示已添加身份。您需要的密钥文件是没有.pub扩展名的密钥文件。ssh-add -l
应该向您显示新添加的身份编辑:显然MacOS有删除键的倾向 - 在下载High Sierra更新后(但我还没有安装)我的密钥已被删除,我必须通过{{再次添加它1}}
答案 6 :(得分:6)
Github(或Bitbucket)在他们的服务器中找不到你的ssh密钥。
只需在帐户设置中添加密钥即可。
答案 7 :(得分:5)
对我来说,当我想从我的存储库中克隆时,我发现了相同的消息&#34; Permission denied(publickey)致命:无法从远程存储库中读取&#34;。我的案例的解决方案是在克隆之前不使用sudo 那就是它。
答案 8 :(得分:4)
如果您生成新的公共ssh密钥并将其插入bitbucket或github和
没有帮助 - 请尝试重新启动您的电脑。它帮了我!!
答案 9 :(得分:4)
我收到了错误...
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
...当我的笔记本电脑死于Windows 10更新并且返回出厂设置后,当我尝试从Git Bash提示与Bitbucket联系时。我已从备份中恢复了所有ssh文件。
在计算机重建后,错误原因导致我的Windows帐户名不匹配。我了解到,公钥文件id_rsa.pub
以易于阅读的字符串结尾,其中包含我的Windows帐户名,后跟@
符号,然后是计算机名称。
当我最初设置计算机时,我创建了我的Windows帐户名,包括我的中间名,但是当我的计算机重置为出厂设置时,我们的新DevOps人创建了我的帐户名而没有我的中间名。
要解决此问题,我只需编辑我的公钥文件id_rsa.pub
,并在结尾处删除我姓名中的中间名。我坚持使用相同的计算机名称,所以没关系。我将文件内容复制到Windows剪贴板。然后我签了入Bitbucket,去了我的头像下的Bitbucket设置,并添加了一个新的公钥,我粘贴在新内容中。
回到Git Bash提示符,我通过输入命令确认它现在有效...
ssh -T git@bitbucket.org
...我收到了一条我已登录的消息。
答案 10 :(得分:3)
您需要运行ssh-keygen -t rsa
。
答案 11 :(得分:3)
1。要进行身份验证,您需要在用户设置中将SSH密钥对的公共部分添加到bitbucket:用户设置 - &gt; SSH密钥
您可以在〜/ .ssh目录中找到所述公共部分,通常是id_rsa.pub
。请注意Public的文件名的.pub
部分。
它会帮助你生成一个,如果你还没有一个
你还没有完成......
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
扩展名)
答案 12 :(得分:3)
从Windows命令行运行git clone
命令时遇到了同样的问题。但该命令可以从 Git Bash 成功运行。
答案 13 :(得分:2)
如果一切都失败了,就像我一样,卸载GIT,重新安装。由于某些原因,这个修复了。
P.S。
答案 14 :(得分:2)
我有类似的问题。我更改了ssh键,然后重新启动并尝试了所有其他“ n”解决方案。但是对我来说,实际的问题是我们的gitlab默认协议从ssh更改为https。
使用
检查远程网址git remote -v
更改远程网址
git remote set-url origin https://URL
答案 15 :(得分:1)
有用的线程,我不会给表带来太多新的信息。我采取的步骤也是Maxime指出的描述的一部分,但有些人可能会忽略它。该部分为Adding your SSH key to the ssh-agent。
我已经生成了ssh密钥,但是重新启动后,我无法克隆自己的存储库之一。
我必须启动ssh-agent并将私钥添加到该代理中才能进行克隆。
eval $(ssh-agent -s)
ssh-add ~/.ssh/id_rsa
答案 16 :(得分:1)
克隆时,我遇到了类似的问题[我的错误: 权限被拒绝(publickey)。 致命:无法从远程存储库读取。 请确保您拥有正确的访问权限等 ]
- 在我的情况下我使用的是bitBucket / UBUNTU14.04,但 ALREADY 有一组我之前生成的密钥文件而且我更改了文件的名称。我只是 COPIED 文件到标准id_rsa&amp; id_rsa.pub名称格式。然后,我重新运行命令,没有问题。
OBTW :我也可以使用HTTP样式克隆来使用密码提示。
答案 17 :(得分:0)
hub
CLI工具的修复程序:
git config --global hub.protocol https
长期git remote add OOPS https://github.com/isomorphisms/go.git
和&git push OOPS
立即修复由于hub
命令行工具的默认hub.protocol
git-config值错误,因此会发生此错误。他们将存储库设置为
git://github.com/schacon/ticgit.git
不是github实际接受的,即https://github.com/schacon/ticgit.git
。
阅读LESS=+/"HTTPS instead" man hub
将说明上述“长期修复”命令的来源。
答案 18 :(得分:0)
对于 Fedora 33+ 和 Bitbucket 用户:
出现此问题是因为哈希算法已过时。如 Bitbucket 所述,有两个选项:
添加到 ~/.ssh/config
文件。 (如果文件不存在,只需创建它。)
Host bitbucket.org
PubkeyAcceptedKeyTypes +ssh-rsa
使用更安全的算法。
ssh-keygen -t ed25519 -C "your_email@example.com"
答案 19 :(得分:0)
更改了要克隆的文件夹的权限后,它可以工作:
sudo chown -R ubuntu:ubuntu /var/projects
答案 20 :(得分:0)
我遵循了Generating a new SSH key and adding it to the ssh-agent和
中详述的步骤Auto-launching ssh-agent on Git for Windows。
在我的情况下,Windows中没有~/.profile
文件。
我必须创建它,然后添加以上链接中提供的脚本。
答案 21 :(得分:0)
删除远程原点
git remote remove origin
添加HTTP远程来源
答案 22 :(得分:0)
如果这些答案均无济于事,并且
尝试
然后,您将在git clone之后找到并输入yes进行确认,它应该开始克隆
答案 23 :(得分:0)
我看到此错误消息有很多不同的原因。 尝试在本地已与ssh等完全兼容的地方建立另一个存储库并将其连接到同一服务器但另一个存储库时,出现了相同的错误。没有找到答案,但我知道了。所以我发布了。希望可以帮助某人。
first_query = """
SELECT TABLE1.RULE_ID, TABLE2.STATUS, TABLE2.ERROR_MESSAGE, TABLE2.PROCESS_ID
FROM TABLE2 LEFT JOIN
TABLE1
ON TABLE1.RULE_ID = TABLE2.RULE_ID
WHERE TABLE1.RULE_NAME IN ('TEST1', 'TEST2')
"""
second_query = """
SELECT RECORDS_PROCESSED, PROCESS_ID, STATUS
FROM TABLE3
"""
join_query = """
SELECT RULE_ID, STATUS, ERROR_MESSAGE, PROCESS_ID
FROM (first_query) as query_1
INNER JOIN (second_query) as query_2
ON query_1.PROCESS_ID = query_2.PROCESS_ID
GROUP BY PROCESS_ID desc
"""
答案 24 :(得分:0)
解决方案: 在服务器上,您尝试克隆到或从中推送 猫〜/ .ssh / id_rsa.pub 转到GitHub,设置, SSH和GPG密钥,新SSH密钥 粘贴键。
答案 25 :(得分:0)
您可以尝试将ssh密钥添加到私钥链中。对我有用
ssh-add -K ~/.ssh/[your-private-key]
答案 26 :(得分:0)
我想克隆一个开源项目,以便我可以提交一些拉取请求。问题是我没有项目所有者的权限。没关系,由于我打算提交PR,因此这里是一个可行的选择:
我的解决方案:
答案 27 :(得分:0)
在为gitlab设置ssh时遇到了相同的问题。我已经有github
的ssh了,我无法覆盖它。
对我有用的步骤是:
ssh-add /path/to/new/id_rsa
。config
创建一个名为~/.ssh/
的文件。我使用了vi ~/.ssh/config/
。 # GitLab.com server
Host gitlab.com
RSAAuthentication yes
IdentityFile /path/to/new/id_rsa
重启终端并尝试推送后,它应该可以工作
答案 28 :(得分:0)
我有同样的错误。我的解决方案是注销并再次登录,因为我的ssh-agent与远程ssh密钥不同步。
在此添加此内容,以防有人看到其他答案似乎不适用于他们的情况。
答案 29 :(得分:0)
我在linux上遇到过类似的问题。我通过登录github服务器并创建部署密钥解决了这个问题。这是在存储库的设置下。然后,我复制并粘贴了我的公钥(通常在〜/ .ssh / id_rsa.pub中,但您的配置可能不同)。有一个复选框可以提供此密钥写访问权限。单击它(除非您只使用git进行部署,在这种情况下,请不要单击它)。
答案 30 :(得分:-2)
这可能是愚蠢的,但它发生在我们身上:
如果您正在使用bitbucket和Sourcetree,并且只是将克隆URL复制粘贴到新的repo对话框,它将在拉或推时显示相同的错误。
请务必删除&#39; git clone&#39; URL之前的内容。