一、錯誤
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