一、错误
git clone git@gitee.com:wangzaiplus/xxx.git
, 出现Permission denied (publickey)
二、原因
无权限, 未将公钥添加至GitHub
三、解决思路
- 本地生成密钥
- 登录GitHub配置SSH Key
四、具体步骤
ssh-keygen.exe -t rsa -C "xxx@163.com"
- 三次回车, 即生成私钥和公钥, 生成目录为:
/c/Users/wangzaiplus/.ssh
-
cat ~/.ssh/id_rsa.pub
, 复制公钥 - 登录GitHub,
Settings -> SSH and GPG keys -> New SSH Key
, 将上一步公钥粘贴至文本框, 保存, 搞定
五、说明
- 提示:
Enter file in which to save the key (/c/Users/wangzaiplus/.ssh/id_rsa)
- key生成的保存路径
- 括号路径是key默认保存路径, 如果之前生成过别的项目的key, 则会覆盖
- 提示
Enter passphrase
- 如果填写, 则提交项目时需要输入密码, 我们这里不输入密码
六、拓展
多Git账户生成多个id_rsa
私钥保存路径冲突问题解决办法
四.1
步回车后, 重命名id_rsa
为id_rsa_springboot
、id_rsa_project1
此时
/c/Users/wangzaiplus/.ssh/
目录下生成文件如下
id_rsa_springboot
id_rsa_springboot.pub
id_rsa_project1
id_rsa_project1.pub
- 新建
config
文件, 注意, 无扩展名, 内容如下
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_springboot
Host gitee.com
HostName gitee.com
User git
IdentityFile ~/.ssh/id_rsa_project1
再把对应的公钥添加至对应的网站上面即可, 如GitHub, gitee
说明: 未加入配置文件的网站会自动应用
/.ssh
目录下的id_rsa