git在clone時需要輸入密碼Enter passphrase for key 導致spring cloud config 配置中心無法拉取配置檔案的解決方法
前幾天把系統從win7換到了win10 重灌了開發環境 一直沒什麼問題
今天在除錯spring cloud 時 發現無論如何都拉取不到配置檔案,
通過微服務日誌提示 Could not locate PropertySource: label not found 大致就是找不到配置檔案
然後手動去config服務去查詢配置檔案時報出了404錯誤
重點在這一句 Cannot clone or checkout repository 無法克隆或簽出倉庫
起初我以為是git倉庫的uri 或者使用者密碼配置錯誤 檢查發現並沒有,
於是手動使用git命令進行clone, 結果發現clone需要手動輸入一次密碼,
也就是Enter passphrase for key
我懷疑可能是因為我本地的git進行clone需要輸入密碼導致config服務無法拿到倉庫導致的,
於是開始解決這個Enter passphrase for key問題,使用強大的百度搜索發現並沒有解決方法 大部分是使用ssh-add
但是我在使用ssh-add之後並還是需要輸入,
經過不斷的排查,我覺得可能是我的公鑰的問題,於是乎我開始重新生成公鑰
先刪除了本地 ~/.ssh下的id_rsa id_rsa.pub known_hosts 三個檔案
然後輸入命令 生成公鑰
$ ssh-keygen -t rsa -C "你的使用者名稱"
# Generating public/private rsa key pair.
# Enter file in which to save the key (/c/Users/Administrator/.ssh/id_rsa):
這裡是讓你給檔案取名 可以直接 回車 預設id_rsa就好
#Enter passphrase (empty for no passphrase):
重點: 這裡提示輸入密碼 我本來以為是輸入自己的git賬號的密碼, 但是發現 括號寫著(空 無口令)
於是搜了一下這裡的相關資料 這裡的意思是 使用ssh連線 這裡建立一個你的連線的密碼,
如果為空 則預設使用私鑰進行連線
終於找到原因了, 就是這裡, 應該是我之前安裝環境的時候,
這裡沒有注意, 就直接給了自己git賬號的密碼,導致每次clone都需要輸入密碼 ,
直接回車不輸入密碼, 將公鑰放到git上去之後, clone一下, 一路順暢,
開啟congfig服務 輸入連結直接獲取配置 也能獲取到了,再將微服務執行,果然也能獲取到配置正常啟動了