如何解決 git ssh key permission denied (publickey) 的錯誤

如何解決 git ssh key permission denied (publickey) 的錯誤

目錄

最近在設定 git ssh-key 時發生了 Permission denied (publickey) 的問題。雖然網路上有很多相關的解決方案,但是都沒有解決我的問題。因此在這邊紀錄一下我遇到的問題及解決方案。

已經確認 .ssh 資料夾裡面已經有 key 了,也在 GitHub 上正確設定了,在其他電腦運作都沒問題。但是在這台電腦上卻一直出現 Permission denied (publickey) 的錯誤。

經過一翻排查後發現 Git Bash 的 $HOME 參數居然是在 SPB_Data 這個資料夾!

原來是 Cadence 會在安裝的時候添加一個 $HOME 的環境變量指到 C:\SPB_Data 這個路徑。

因為 Cadence 會需要這個環境變數,因此不能隨便刪除。但是為了避免 Git 混淆,只好透過下列方法來繞過這個衝突。

首先會需要以系統管理員身分修改兩個檔案 "C:\Program Files\Git\etc\nsswitch.conf" & "C:\Program Files\Git\etc\profile" 來讓 Git 及相關的設定指到正確的路徑。

nsswitch.confdb_home: env windows cygwin desc 改成 db_home: /%H

再在 profile 中添加 HOME="C:\Users\<username>" 參數指到正確的位置。

更改完成後,git 產生的 ssh key 就會在 "C:\Users\<username>\.ssh" 的路徑下,並且在 Git Bash 輸入 echo $HOME 看到的也會是正確的路徑了。

comments powered by Disqus

相關文章

使用 youtube-dl / yt-dlp 下載 Youtube 最佳畫質與音質的影片

使用 youtube-dl / yt-dlp 下載 Youtube 最佳畫質與音質的影片

youtube-dl 是一個開源可以下載 Youtube 影片的工具,然而由於版權問題,導致專案被刪除,有神人將專案 fork 出來,並且繼續維護,所以改用 yt-dlp 來取代。 youtube-dl / yt-dlp 不只可以下載 Youtube

閱讀更多
小米二合一無線充電寶 30W 10000mAh:完美結合行動電源與無線充電座的體驗

小米二合一無線充電寶 30W 10000mAh:完美結合行動電源與無線充電座的體驗

今天我要帶大家探索一款新的科技產品,那就是小米的二合一無線充電寶 30W 10000mAh。自從我換了 Google Pixel 6,我就一直對無線充電充滿了好奇心。但市面

閱讀更多
如何調整 Linux 系統時區

如何調整 Linux 系統時區

在 Debian/Ubuntu 上調整時區 檢查目前的時區設定 timedatectl 列出所有可用的時區 timedatectl list-timezones 設定時區 sudo timedatectl set-timezone Asia/Taipei sudo dpkg-reconfigure --frontend noninteractive tzdata 在 Docker 容器中調整時區 export TZ=Asia/Taipei ln -snf /usr/share/zoneinfo/$TZ /etc/localtime echo $TZ > /etc/timezone DEBIAN_FRONTEND="noninteractive" apt-get install -y tzdata

閱讀更多