Git 总是出现权限拒绝的情况(个人笔记)
此文仅代表我自己的查阅和理解并作为笔记,并不能作为指导内容。#
问题产生的环境:
在 Homestead 开发环境下做完了 实战入门 ,开始向 实战进阶 进发
新建 Laravel 项目并且在我的 Github 创建一个名为 LaraBBS 的仓库之后之后执行
$ git init
$ git add -A
$ git commit -m '初始化'
$ git remote add origin git@github.com:#####/LaraBBS.git
$ git push origin master
这时候就会提示我没权限
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
接下来是我的解决思路:
方案一:
翻阅到第一课的 Github 部署部分执行以下代码 (既然做了就做全…)# 检查 git 配置 $ git config user.name $ git config user.email # 重新生成一次公钥 $ eval "$(ssh-agent -s)" $ ssh-add ~/.ssh/id_rsa $ cat ~/.ssh/id_ras.pub
然后复制 id_ras.pub 的公钥内容,在 Github 的 SSH and GPG keys 选项里新增一个 SSh Keys , 这时候再执行
$ ssh -T git@github.com # 检测是否通讯成功 $ git push origin master
成功的将代码托管到 Github 的 LaraBBS 库里了!
接下来我去百度为什么每个项目都要单独执行一次
eval "$(ssh-agent -s)"
而这句话是什么意思,以下内容来自我的查询到有意义的解释
生成新 SSH 密钥并添加到 ssh-agent
但是这并没有解决为什么每个项目都要再添加一遍 SSHKey 的问题。方案二:
$ vim /etc/bash.bashrc
在打开的文件最后换行添加两句
$ eval "$(ssh-agent -s)" $ ssh-add ~/.ssh/id_rsa
之后 Git 就会自己添加 SSHKey 到密钥里面去了
那么问题来了…
GitHub 上面还要再换一次吗?请大家帮我解惑#
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: