首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >git推送:权限被拒绝(公钥)

git推送:权限被拒绝(公钥)
EN

Stack Overflow用户
提问于 2013-10-29 22:15:55
回答 16查看 177K关注 0票数 81

我正在尝试将一个文件推送到一个朋友的git存储库,但公钥出错。

代码语言:javascript
复制
git push origin testbranch
Permission denied (publickey).
fatal: Could not read from remote repository.

在哪里以及如何定义公钥/私钥?

git remote -v返回:

代码语言:javascript
复制
origin  git@github.com:Sesamzaad/NET.git (fetch)
origin  git@github.com:Sesamzaad/NET.git (push)

任何帮助都是非常感谢的。

EN

回答 16

Stack Overflow用户

发布于 2014-09-02 20:44:20

我也面临着同样的问题,以下是我所做的对我有效的方法。

使用ssh而不是http。如果源地址是http,则将其删除。

代码语言:javascript
复制
git remote rm origin

添加ssh url

代码语言:javascript
复制
git remote add origin git@github.com:<username>/<repo>.git

在.ssh/文件夹中生成ssh密钥。它将要求输入路径和密码,您只需按enter键并继续。

代码语言:javascript
复制
cd ~/.ssh
ssh-keygen

复制密钥。您可以使用查看您的密钥。如果您没有指定不同的路径,则这是默认路径。

代码语言:javascript
复制
cat ~/.ssh/id_rsa.pub

将此密钥添加到您的github帐户。下一步

代码语言:javascript
复制
ssh -T git@github.com

您将在控制台中收到一条欢迎消息。

cd到您的项目文件夹。git push -u origin master现在可以工作了!

票数 121
EN

Stack Overflow用户

发布于 2017-07-05 15:50:11

这对我很有效。

首先,删除当前遥控器:

代码语言:javascript
复制
git remote rm origin

其次,通过HTTPS添加remote,但使用git@xxx:

代码语言:javascript
复制
git remote add origin https://github.com/Sesamzaad/NET.git

然后推送已经对我起作用了:

代码语言:javascript
复制
git push origin master
票数 23
EN

Stack Overflow用户

发布于 2018-05-03 01:15:40

我通过将密钥重新添加到我的ssh-agent来修复它。

使用以下命令:

ssh-add ~/.ssh/path_to_private_key_you_generated

由于某些原因,它消失了。

票数 16
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19660744

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档