我用的是Mac雪豹,刚刚安装了git。

我只是试了

git clone git@thechaw.com:cakebook.git

但这给了我这个错误:

Initialized empty Git repository in `/Users/username/Documents/cakebook/.git/`
Permission denied (publickey).
fatal: The remote end hung up unexpectedly

我错过了什么? 我也试过做ssh-keygen没有密码,但仍然错误。


当前回答

解决方案使用gh即Github的官方CLI

gh安装

Brew install gh

通过cli登录或认证

Gh auth登录

回购克隆

Gh repo clone <username or orgname>/<repo-name> . sh

例如:gh repo clone keshavdulal/sample-repo

咆哮:当git克隆突然决定不再工作时,我也在敲打我的头,我没有耐心或脑力从头开始重新学习ssh/公钥/密密学,只是为了克隆一个我已经可以访问的该死的回购。同样令人惊讶的是,答案中还没有人提到gh

其他回答

对我来说,问题是使用sudo:

sudo git克隆git@github.com:userName/repo.git导致上述错误。

所以为了解决这个问题,我咀嚼了我试图克隆到的文件夹

sudo chown -R $USER:$USER /var/www/iqge.org/html

然后用这个 git克隆git@github.com:userName/repo.git was successfully done

基本的GIT指令没有引用SSH密钥之类的东西。沿着上面的一些链接,我发现了一个git帮助页面,它一步一步地解释了如何在各种操作系统上做到这一点(链接将检测您的操作系统并相应地重定向):

http://help.github.com/set-up-git-redirect/

它介绍了GITHub所需的所有内容,并给出了详细的解释,例如“为什么在创建RSA密钥时添加密码短语”。我想我应该把它贴出来,说不定能帮助到别人……

当我在工作中得到一台新电脑或换工作时,这些是我遵循的步骤。Mac或Windows

-访问https://github.[yourWorkDomain].com。导航到设置→开发人员设置→个人访问令牌 -生成一个新的令牌 -设置令牌描述,只检查范围的“repo”框(这将给你repo:status, repo_deployment, public_repo, repo:invite access)

-在你得到令牌后,复制它(不要导航离开,确认接下来的两步工作) -尝试再次克隆回购(使用“https”) -用户名使用你的用户名 -对于密码,粘贴您复制的令牌 -所有未来的请求现在应该工作,而不需要您的用户名和密码。

首先,我建议检查一些标准的东西,比如:

以正确的用户登录系统, 在系统的正确位置拥有正确的私钥, 尝试使用正确的用户名、主机名和端口进行连接, 将公钥放在外部服务器中正确的位置(并为正确的用户), 重新启动计算机上的SSH服务:

service ssh restart

(或者以另一种方式取决于您如何管理系统中的服务…)

这对我来说已经足够了。

我得到这个错误,因为我生成的ssh密钥与错误的电子邮件。我可以使用ssh连接,但不能使用git。解决方案是使用我的github帐户的主要电子邮件地址重新生成密钥。