我无法克隆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
Run Code Online (Sandbox Code Playgroud)
我读过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
Run Code Online (Sandbox Code Playgroud)
并且存储库存在.
Arj*_*jan 207
对于那些来到这里只是试图获取存储库但不关心协议(ssh/https)的人,您可能只想使用https而不是ssh(如果它支持).
所以例如你使用
git clone https://github.com/%REPOSITORYFOLDER%/%REPOSITORYNAME%.git
Run Code Online (Sandbox Code Playgroud)
代替
git clone git@github.com:%REPOSITORYFOLDER%/%REPOSITORYNAME%.git
Run Code Online (Sandbox Code Playgroud)
Sri*_*thy 73
如果在创建SSH并将其添加到您的Bitbucket帐户或任何地方后仍存在访问问题,则需要在GitBash,OSX或Linux上执行以下操作:
# Lists already added identities (‘ssh keys’)
ssh-add -l
Run Code Online (Sandbox Code Playgroud)
然后,如果您没有看到列出的密钥,请将其添加为:
# Add a new identity
ssh-add ~/.ssh/identity
Run Code Online (Sandbox Code Playgroud)
这对我有用.
Fir*_*ero 59
它看起来像是权限问题 - 而不是Windows 7问题.
您的ssh密钥未获得授权 - Permission denied (publickey).
您需要创建一个公共ssh密钥,并要求Git存储库的管理员添加ssh公钥
有关如何执行此操作的信息:保存ssh密钥失败
Ash*_*mma 11
我也遇到了同样的问题.我做了以下工作,它对我有用:
bitBucket/git网站上打开您的帐户,并将此密钥添加到您的个人资料中.这样,服务器就知道您是从合法系统访问的合法用户.eit*_*hed 11
我在Mac上遇到过这个问题 - 当我正确设置SSH以访问我的Git存储库时,重启后(有些时候Mac处于对峙状态),我的所有凭据都被删除了.显然,由于某种原因,pub键设置为644,导致它从keychain中删除.阅读:
chmod 600 公钥ssh-add ~/.ssh/[your private key] - 这应该显示已添加的身份.您想要的密钥文件是没有.pub扩展名的密钥文件.ssh-add -l 应该向您显示新添加的身份编辑:显然MacOS有删除键的倾向 - 下载High Sierra更新后(但我还没有安装)我的密钥已被删除,我不得不再次添加它 ssh-add
小智 7
对于 Fedora 33+ 和 Bitbucket 用户:
出现此问题的原因是哈希算法已过时。正如Bitbucket上提到的,有两种选择:
添加到~/.ssh/config文件中。(如果该文件不存在,只需创建它。)
Host bitbucket.org
PubkeyAcceptedKeyTypes +ssh-rsa
Run Code Online (Sandbox Code Playgroud)
使用更安全的算法。
ssh-keygen -t ed25519 -C "your_email@example.com"
Run Code Online (Sandbox Code Playgroud)
我收到错误...
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Run Code Online (Sandbox Code Playgroud)
...当我的笔记本电脑因 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
Run Code Online (Sandbox Code Playgroud)
...我收到一条消息,表明我已登录。
1.要进行身份验证,您需要在用户设置中将 SSH 密钥对的公共部分添加到 bitbucket:用户设置 --> SSH 密钥
您会在 ~/.ssh 目录中找到上述公共部分,通常是id_rsa.pub. 注意 .pubPublic 的文件名部分。如果您还没有,它将帮助您生成一个
你还没有完成...
2.你需要让你的系统知道哪个远程主机使用哪个密钥,所以将这些行添加到你的 ~/.ssh/config 文件中
Host bitbucket.org
IdentityFile ~/.ssh/PRIVATE_KEY_FILE_NAME
Run Code Online (Sandbox Code Playgroud)
PRIVATE_KEY_FILE_NAME你的 SSH 密钥对的私有部分的名称在哪里,如果你没有弄乱它,通常它的默认名称是:id_rsa
在这种情况下替换PRIVATE_KEY_FILE_NAME上面id_rsa(私钥没有 .pub扩展名)
有用的线索,但我并没有带来太多新东西。我采取的步骤也是 Maxime 所指出的描述的一部分,但有些人可能会忽略它。本部分是将您的 SSH 密钥添加到 ssh-agent。
我已经生成了 ssh 密钥,但重新启动后我无法克隆我自己的存储库之一。
我必须启动 ssh-agent 并将私钥添加到该代理才能进行克隆。
eval $(ssh-agent -s)
ssh-add ~/.ssh/id_rsa
Run Code Online (Sandbox Code Playgroud)
我有类似的问题。我更改了 ssh 密钥并重新启动并尝试了所有其他“n”解决方案。但对我来说实际的问题是我们的 gitlab 默认协议从 ssh 更改为 https。
检查远程网址
git remote -v
Run Code Online (Sandbox Code Playgroud)
更改远程网址
git remote set-url origin https://URL
Run Code Online (Sandbox Code Playgroud)