0

我正在尝试将一个分支(名为“grails-1.3”)推送到我的 github 存储库。这是正在发生的事情

> git push origin grails-1.3
Permission denied (publickey).
fatal: The remote end hung up unexpectedly

这是我第一次尝试推送到我的 git 存储库,所以我想我没有正确设置用户名/密码/SSH。我的.git/config文件包含以下内容:

[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
[remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*
    url = ssh://git@github.com/domurtag/airbrake-grails.git
[branch "master"]
    remote = origin
    merge = refs/heads/master

更新

我查看了我的 GitHub 帐户的“SSH 密钥”部分,它说:

没有 SSH 密钥可以访问您的帐户。

4

3 回答 3

2

您是否已将 SSH it github 配置为使用您的公共 RSA 密钥?您是否制作了 RSA 密钥?看看这里的一半:

https://help.github.com/articles/error-permission-denied-publickey

如果您使用的是 Eclipse 之类的 IDE,则可以通过 Preferences->General->Network Connections->SSH2 来设置密钥。在那里,您可以看到密钥在本地存储的位置,并且在“密钥管理”选项卡下,您可以创建一个新密钥。生成新密钥后,将密钥文本原样复制到您的 github 帐户中(Github->Account Settings->SSH Keys)。

这一切都来自命令行:

https://help.github.com/articles/generating-ssh-keys

于 2012-10-04T15:35:40.283 回答
2

您必须生成一个 rsa 密钥对:

ssh-keygen -t rsa

然后在github上注册你的公钥指纹。

于 2012-10-04T15:36:40.770 回答
1

如果您使用的是Windows(或MacOS,但我自己没有尝试过),我强烈建议您安装官方 GitHub 客户端,即使您打算坚持使用命令行。

客户端正确设置了所有内容,例如 SSH 密钥和您的存储库的初始克隆。它还带有一个很好的 shell 集成,因此您可以直接在 shell 上查看某些文件是否已过时等。

于 2012-10-04T19:06:51.067 回答