Permission denied (publickey).


這個錯誤的意思權限不夠。吶~
先執行以下以下命令,看看 git 在連接的哪一步除了問題

ssh -v git@github.com

日志若如下,則繼續:
在這里插入圖片描述

這說明 git 在連接的時候,去 ~/.ssh/ 下找了默認的 id_rsa,而我的 ~/.ssh/ 目錄下為 github.com 生成的 ssh key 起名為 Mobro_Chu 了,所以就找不到。
解決方案:

  1. 刪除原有的 ssh key,重新生成。
    按照 通過 ssh 建立本地與 github 的連接 這篇文章來實現。
  2. 增加配置配置文件 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,且可解決 同一電腦連接多個代碼庫 的問題


不亂於心,不困於情。
不畏將來,不念過往。
如此,安好!
無愧於天,無愧於地。
這樣,人生!
一一 豐子愷《不寵無驚過一生》


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM