這是第3天,我仍然無法解決以下問題:Git Bash是否通過ssh密鑰確定身份?
我最初創建了2年前的GitHub帳戶。我相信我爲此帳戶生成了一個SSH密鑰。我相信我已經將ssh密鑰加載到我的ssh-agent程序中,然後將公鑰放在我的GitHub帳戶上。
現在我最近創建了一個新的GitHub帳戶。我創建了一個回購,然後將該回購克隆到我的PC。在提交一對夫婦後,我試圖將更改推向回購。然而,它表示,我沒有權限回購,聲明'拒絕回執的權限 - oldusername沒有訪問權限'。所以看起來Git Bash在嘗試推動變化時引用了我的oldusername。
我試圖通過'git config user.name'等等來更改我的配置信息。但是,這似乎沒有解決問題。然後我偶然發現了一些說我需要SSH密鑰的東西。我深入瞭解了這一點,並認識到我目前的Git Bash引用了一個與我的舊帳戶相關的ssh密鑰。所以我在我的計算機上刪除了這個舊密鑰,並且還從舊的GitHub帳戶中刪除了該密鑰。
然後我開始生成一個新的SSH公鑰/私鑰對。我加載(或者我相信)新的私鑰給ssh-agent。然後我將公鑰添加到我的新GitHub帳戶中。請注意,我還將「密碼」選項留空,因爲我不明白它的直接目的。
經過這些更改後,我試圖將我對遠程倉庫所做的更改推送給客戶。但是,我再次收到錯誤「oldusername無權將更改推送到回購」。
因此,看起來我的Git Bash仍在引用我的舊用戶名。爲什麼是這樣? Git Bash使用ssh-agent加載的ssh-key來確定你的身份嗎?如果是這種情況,爲什麼它仍然會引用我的舊GitHub用戶名?附:我在Windows 10上,Git 2.9.3.2。
有什麼想法?
您是否重新啓動了您的代理? 'ssh-add -L'會列出它所知道的所有ssh密鑰。如果它有你不指望它的密鑰,你可以用'ssh-agent -k'來停止它,然後用'ssh-agent'重新啓動它。 –
你是否關閉了終端;也許它正在使用來自終端的舊會話。 – slopeofhope
代理持續的時間超過終端會話。您需要重新啓動代理(或重新啓動)。 –