我无法克隆一个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 / https)的人,您可能只想使用https而不是ssh(如果支持ssh的话)。
举个例子
git clone https://github.com/%REPOSITORYFOLDER%/%REPOSITORYNAME%.git
而不是
git clone git@github.com:%REPOSITORYFOLDER%/%REPOSITORYNAME%.git
请注意,GitHub已弃用私人存储库的密码认证(https登录),因为它没有跟上最新的安全标准,使用个人访问令牌。
还需要注意的是,自2022年3月1日起,Bitbucket用户也不能再通过git通过https使用他们的Atlassian帐户密码,而是需要使用Bitbucket应用程序密码。
我得到了错误…
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。把我名字中间的首字母去掉了。我坚持使用相同的计算机名,所以没关系。我将文件内容复制到Windows剪贴板。然后我登录到Bitbucket,在我的头像下进入Bitbucket设置,并添加了一个新的公钥,在那里我粘贴了新的内容。
回到Git Bash提示,我通过输入命令确认它现在可以工作了…
ssh -T git@bitbucket.org
...然后我收到了我已经登录的消息
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扩展名)
修复hub cli工具:
Git配置—全局中心。协议HTTPS长期
git远程添加OOPS https://github.com/isomorphisms/go.git && git推送OOPS立即修复
此错误发生在hub命令行工具上,因为它们的默认hub错误。协议git-config值。他们设置了回购
git://github.com/schacon/ticgit.git
而不是github实际接受的,即https://github.com/schacon/ticgit.git。
阅读LESS=+/“HTTPS代替”man hub将解释上述“长期修复”命令的来源。
对于Fedora 33+和Bitbucket用户:
出现这个问题是因为哈希算法过时了。正如Bitbucket上提到的,有两种选择:
选项1:
添加到~/。ssh / config文件。(如果文件不存在,就创建它。)
Host bitbucket.org
PubkeyAcceptedKeyTypes +ssh-rsa
选项2:
使用更安全的算法。
ssh-keygen -t ed25519 -C "your_email@example.com"
我一直面临着同样的问题,突然间我突然想到哪里会出问题。
在您的计算机上生成一个SSH密钥,如下所述:生成
SSH密钥。
这就是我做错的地方
在生成ssh密钥时使用下面的命令,但我没有使用sudo,而克隆时我使用的是“sudo git克隆ssh_repo_url”,因为克隆时我需要创建我的用户没有权限的文件夹
生成ssh的错误方法
$ ssh-keygen -t ed25519 -C "your_email@example.com"
正确的方法,如果在克隆时使用sudo
$ sudo ssh-keygen -t ed25519 -C "your_email@example.com"
登录您的GitHub帐户:GitHub Login。
在您的帐号中添加新生成的“SSH Key: My account SSH”
钥匙。
再次尝试git克隆项目。(使用sudo生成的密钥)