【已解决】[email protected]: Permission denied (publickey).处理git 无权限访问问题

解决思路

分析

[email protected]: Permission denied (publickey).
fatal: Could not read from remote repository.
意译:权限拒绝(公开密钥),后果:无法读远程仓库。
人话:GitHub设置里面的公钥没有配置或者和本地的私钥不匹配。

处理方案及步骤

1、打开命令提示符

输入如下指令,生成SSH KEY

ssh-keygen -t rsa -C "[email protected]"

一路确定
在这里插入图片描述

2、复制公钥内容

根据公钥地址找到公钥,复制公钥。
在这里插入图片描述

3、设置公钥

GitHub个人账户【setting】设置【SSH KEY】

### 解决 Git 推送时遇到的 `Permission denied (publickey)` 问题 当遇到 `git@github.com: Permission denied (publickey)` 错误时,通常是因为本地 SSH 密钥配置不当或不存在于 GitHub 账户中。以下是详细的解决方案: #### 检查现有 SSH 密钥 首先确认是否有现有的 SSH 密钥对存在。通过运行以下命令来查看是否存在默认位置下的密钥文件: ```bash ls -al ~/.ssh ``` 如果发现有名为 `id_rsa` 和 `id_rsa.pub` 的文件,则表示已经有一对 RSA 类型的 SSH 密钥。 如果没有找到合适的密钥对或者不确定当前使用的是否正确,可以继续创建新的 SSH 密钥对并将其添加到 GitHub 上去[^1]。 #### 创建新的 SSH 密钥 为了生成一个新的 SSH 私钥及其对应的公钥,可以在终端执行如下指令(假设邮箱为 user@example.com): ```bash ssh-keygen -t rsa -b 4096 -C "user@example.com" ``` 这会引导用户输入保存路径,默认情况下可以直接按回车键接受建议的位置;之后还会询问 passphrase 设置,可以根据个人需求决定是否设置密码保护[^2]。 #### 添加 SSH 密钥至 ssh-agent 中 启动 `ssh-agent` 并加载刚刚生成好的私钥进去以便后续操作能够顺利进行: ```bash eval "$(ssh-agent -s)" ssh-add ~/.ssh/id_rsa ``` #### 将公钥添加给 GitHub 复制 `.pub` 文件里的内容并通过浏览器登录 GitHub 后,在账户设置页面的安全选项里粘贴上去完成关联工作。具体步骤如下所示: - 打开 [GitHub Settings](https://github.com/settings/keys) - 点击左侧菜单栏中的 **SSH and GPG keys** - 点击右上角绿色按钮 **New SSH key** - 把之前拷贝的内容填入 Key 字段内,并给予适当描述名称后点击底部提交按钮即可[^3] #### 测试连接状态 最后一步就是验证能否成功建立与服务器之间的安全通道了。只需简单地尝试一次 git 命令交互就能知道一切正常与否: ```bash ssh -T git@github.com ``` 预期输出应类似于这样:“Hi username! You've successfully authenticated...”,说明现在已经有权访问远程仓库资源了[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值