win下給 Git Bash 添加私鑰時ssh-add報錯的解決辦法
從 eclipse 換到 idea 後,
發現 idea 只集成了 git Bash,
而且沒有加載密鑰的設置功能,
那麼問題來了:
在idea中提交代碼時提示需要輸入密碼,
由於我們是使用密鑰認證,並不知道密碼。
既然 idea 集成的是 git Bash,
要想解決問題,
我們就需要讓 git Bash 加載我們的私鑰。
現在解決問題有兩個辦法:
一:使用 idea 開發,需要提交代碼或者其他操作時打開資源管理器使用 TortoiseGit 進行操作;
二:想辦法讓 git Bash 加載私匙,完成認證操作。
方案一的話需要來回折騰,方案二可以直接在idea中完後操作,更方便。
網上有好多教程都是讓使用 “ssh-add 私匙文件路徑 ” 這條命令,
試了一下會報如下錯誤:Could not open a connection to your authentication agent
在 Linux 環境這樣做是可以的,
但在 win 下不行。
後來 google 一下,
在 stackoverflow 中找到的解決辦法。
(跟我默唸:google 大法好!)
解決方法:
打開git Bash命令行,
依次執行以下命令:
1.exec ssh-agent bash
2.eval ssh-agent -s
3.ssh-add “C:\Users\Administrator\.ssh\id_rsa”
引號中的路徑就是你私匙文件的路徑,路徑需要使用英文雙引號包裹。
執行”ssh [email protected]“測試一下,
root替換成git服務器的用戶名,@後面替換成git服務器的ip地址。
如果不需要輸入密碼就是成功,如果還是需要的話可以再次操作一下,
需要注意的是在git add 之前執行一條 “ssh-add -D” 命令,這是用來清除已有的私鑰。
測試通過以後再打開idea,
down下代碼,搞定!
ps 我第一次操作時成功後,
發現.ssh文件夾中多了一個”known_hosts”文件,
手閒就把它幹掉了,
再次pull代碼時就又不行了,
多次操作也不行,
後來加一個上面那個清除的命令才搞定。