我用的是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没有密码,但仍然错误。


当前回答

github帮助链接帮助我解决了这个问题。看起来ssh密钥没有添加到ssh-agent。这就是我最后做的事。

命令1:

确保ssh-agent已启用。在后台启动ssh-agent:

eval "$(ssh-agent -s)"

命令2:

将SSH密钥添加到SSH -agent:

ssh-add ~/.ssh/id_rsa

其他回答

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

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

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

请注意(至少对于某些项目),您必须拥有一个带有ssh密钥的github帐户。

查看身份验证代理中列出的密钥(ssh-add -l) (如果你没有看到任何,用ssh-add /path/到/your/key添加一个你现有的密钥(例如:ssh-add ~/.ssh/id_rsa)) (如果你没有任何密钥,首先创建一个。参见:http://rcsg-gsir.imsb-dsgi.nrc-cnrc.gc.ca/documents/internet/node31.html或谷歌ssh-keygen)

要验证您有一个与您的github帐户相关联的密钥:

访问:https://github.com/settings/ssh

您应该至少看到一个键的哈希键与您刚才键入ssh-add -l时看到的某个哈希键相匹配。

如果没有,添加一个,然后再试一次。

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

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

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

在GitHub中使用终端添加RSA密钥:

MAC:

进入Users/ xxxx /.ssh文件夹 执行命令:cd ~/。ssh && ssh-keygen -t ed25519 -C "github_email@id.com" 输入文件名为id_rsa 输入if ask口令 再次输入 运行eval "$(ssh-agent -s)" 打开配置文件:Open ~/.ssh/config 如果不存在,则创建为: 触碰~ / . ssh / config 现在打开配置文件,并在文件中添加以下行:

主机* AddKeysToAgent是的 UseKeychain是的 IdentityFile ~ / . ssh / id_rsa

关闭文件 为agent run命令添加ssh私钥。 ssh-add -K ~/.ssh/id_rsa . sh 现在复制ssh密钥为: Pbcopy < ~/.ssh/id_rsa.pub 去gitHub/BitBucket 点击管理帐户 点击SSH键 删除现有密钥 点击添加键 粘贴复制的密钥。

在我的ubuntu系统中,我按照下面的步骤解决了这个问题。因为我正在尝试用无密码ssh到系统。

sudo vi /etc/ssh/sshd_config

1)评论如下: #更改为no禁用隧道明文密码 # PasswordAuthentication是的 PasswordAuthentication no ---->注释此。

2)然后重新启动sshd守护进程,如下所示。

重启SSHD服务