在 Windows 命令提示字元(CMD)或 PowerShell 當中,如果想要檢查自己的 SSH 金鑰(SSH Key)到底綁定了哪一個 GitHub 帳號,可以使用一條簡單的測試指令來確認

因為你在指令中使用了環境變數,在不同的視窗環境下,寫法會稍微有一點點不同。

如果你使用的是 PowerShell 視窗,請輸入以下指令:

ssh -T -i “$env:USERPROFILE.ssh\your-key_ed25519” [email protected]

如果你使用的是傳統的 CMD 視窗,請輸入以下指令:

ssh -T -i “%USERPROFILE%.ssh\your-key_ed25519” [email protected]

當你按下 Enter 鍵執行之後,系統會連線到 GitHub 並回傳訊息,請根據畫面上顯示的文字來判斷結果:

如果畫面顯示 Hi 小帳的名字! 開頭的文字,代表這把金鑰已經正確設定在 小帳底下了。

如果畫面顯示 Hi max32002! 開頭的文字,代表這把金鑰目前被綁定到了錯誤的帳號。

目前系統檢查出來的結果依然顯示為 max32002 ,這代表你還需要去登入小帳的 GitHub 帳號,並將這把金鑰重新新增進去,才能正常使用。


實際執行上面句子, 會遇到錯誤因為

在 CMD 環境中,系統無法辨識以 $ 開頭的變數符號,因為那是 PowerShell 的專屬語法。如果在 CMD 裡使用,系統會找不到路徑。

請改用以下適合 CMD 的指令:

DOS

ssh -T -i "%USERPROFILE%\.ssh\your-key_ed25519" [email protected]

或是直接填入完整的絕對路徑:

DOS

ssh -T -i "C:\Users\max32\.ssh\your-key_ed25519" [email protected]

File: C:\Users\max32\.ssh\config

# Default GitHub account: max32002
Host github.com
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_rsa
    IdentitiesOnly yes

# GitHub account: max2little (use host alias: github-max2little)
Host github-max2little
    HostName github.com
    User git
    IdentityFile ~/.ssh/max2little_ed25519
    IdentitiesOnly yes

設定已經全部完成!以下是設定內容的摘要:

帳號SSH 主機名稱金鑰名稱
max32002 (預設, 大帳)[email protected]id_rsa
max2little (小帳)git@github-max2littlemax2little_ed25519

使用方法:未來在複製或設定 max2little 帳號的遠端儲存庫時,請將原本的 github.com 替換為 github-max2little。

範例指令如下:

Bash

git clone git@github-max2little:your-repo-name.git

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *