這個錯誤的意思權限不夠。吶~
先執行以下以下命令,看看 git 在連接的哪一步除了問題
ssh -v git@github.com
日志若如下,則繼續:
這說明 git 在連接的時候,去 ~/.ssh/
下找了默認的 id_rsa,而我的 ~/.ssh/
目錄下為 github.com 生成的 ssh key 起名為 Mobro_Chu 了,所以就找不到。
解決方案:
- 刪除原有的 ssh key,重新生成。
按照 通過 ssh 建立本地與 github 的連接 這篇文章來實現。 - 增加配置配置文件 config
cd ~/.ssh
touch config # 注意文件 config 是沒有后綴的
修改 config 文件。為 config 增加 如下代碼
Host github.com
HostName github.com # github.com 可變的
User git
IdentityFile ~/.ssh/Mobro_Chu # 這里的 Mobro_Chu 根據自己的 ssh key 文件不同而變
檢查連接是否成功
ssh -T git@github.com
若未成功,則繼續查看連接狀態。ssh -v git@github.com
,然后繼續找關鍵字,看看 ssh 連接的時候,是否訪問了 Mobro_Chu 這個 ssh key。若向下圖一樣,還是訪問的 rsa_id ,則說明,我們的 Mobro_Chu 這個 ssh key 並未添加到 ssh 連接隊列中去。所以
ssh-add -K ~/.ssh/Mobro_Chu
如果報了一個含有 Could not open a connection to your authentication agent.
的錯誤,則表示沒有 代理權限。增加代理權限即可。
ssh-agent bash # 非 windows 系統
eval `ssh-agent` # windows 系統
順便謝謝其他命令
ssh-add -l # 查看 ssh key 隊列中有哪些 key
ssh-add -D # 刪除所有的 ssh key
這種方式可以繼續使用原來的 ssh key,且可解決 同一電腦連接多個代碼庫 的問題
不亂於心,不困於情。
不畏將來,不念過往。
如此,安好!
無愧於天,無愧於地。
這樣,人生!
一一 豐子愷《不寵無驚過一生》