多Github賬號push時提示[email protected]: P
阿新 • • 發佈:2018-12-16
1.背景
設定了多個github賬號,配置好了~/.ssh/config 檔案,如下:
# Host為別名,可自己任意定義。 # 然後用ssh -T [email protected]可測試,如ssh -T [email protected] # Github1 Host github HostName github.com User username1 IdentityFile ~/.ssh/id_rsa # Github2 Host github2 HostName github.com User username2 IdentityFile ~/.ssh/id_rsa_github2
嘗試push時報錯
[email protected]: Permission denied (publickey)
每一次都識別成之前的那個Github賬號username1。
2.嘗試過程
通過網上搜索,查詢資訊,嘗試了以下方法:
①刪除全域性配置
git config --global --unset user.name
git config --global --unset user.email
②新增本地私鑰
ssh-add ~/.ssh/id_rsa_github2
如果報錯“Could not open a connection to your authentication agent.”,說明agent沒有啟動,先執行:
eval $(ssh-agent)
或者 (注意這裡是反引號),
eval `ssh-agent -s`
然後再執行上面程式碼。
③使用HTTPS URL進行Clone
git clone https://github.com/username1/username1.github.io.git
3.最終解決的方法
需要在 控制面板-憑據管理器 中移除之前的登陸認證,然後在用HTTPS連結clone下的repo裡進行git push,會跳出登入框,重新用新賬號登入就可以了,會生成新的憑證。
然後再測試一下:
ssh -T [email protected]
就會輸出如下內容。
Hi username2! You've successfully authenticated, but GitHub does not provide shell access.