1. 程式人生 > >多Github賬號push時提示[email protected]: P

多Github賬號push時提示[email protected]: P

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.