解決 Github Deploy Key is already in use 問題
簡介
由於最近 Github 開始限制使用 Password(HTTPS) 進行 Push 的行為,因此之後盡量都改使用 SSH 的方式進行 Push,但是之前在設定 Deploy Keys 遇到了以下的錯誤:
簡單來說是因為這個帳號已經有其他 Repository 使用該金鑰,但一個帳號少說也有 10 個 Repository,每一個 Repository 都去查未免也太沒有效率,於是記錄一下使用該金鑰找出對應的 Repository。
尋找對應的 Repository
使用方式:
ssh -T -ai ~/.ssh/your_ssh_key git@github.com
範例
例如我希望使用 ~/.ssh/test
這個金鑰進行 Push,但是遇到了前面的問題,於是我可以執行:
ssh -T -ai ~/.ssh/test git@github.com
接著會輸出:
Hi jhang-jhe-wei/jhang-jhe-wei.github.io! You've successfully authenticated, but GitHub does not provide shell access.
而 jhang-jhe-wei/jhang-jhe-wei.github.io
就是我們訪問到的 Repository,接著就去檢查該 Repository 是否的 Deploy Keys 是否有該金鑰。
推薦方式
該錯誤是由於已經有 Repository 使用了該金鑰,但實際上的情況有可能是整個帳號都用同一個金鑰,對於這種情況可以直接至帳號中的設定(點擊右上角的頭像)填寫 SSH and GPG Keys
:
這樣子就可以使用該金鑰訪問該帳號之下的所有 Repository。