簡體   English   中英

Git 不使用 SSH 密鑰 (Windows)

[英]Git does not use SSH key (Windows)

我為我的 GitLab 存儲庫創建了一個 SSH 密鑰,當我使用 SSH 對其進行測試時,它確實有效並要求輸入密碼:

>ssh -T git@gitlab.lrz.de
Enter passphrase for key 'C:\Users\[username]/.ssh/id_ed25519':
Welcome to GitLab, @000[...]!

我也用過

>git remote set-url origin git@gitlab.lrz.de:000[...]/project.git

沒有錯誤。 但是,當我嘗試提交並推送到存儲庫時,Git 要求輸入git@gitlab.lrz.de的密碼,而不是 SSH 密鑰的密碼。

根據文檔( https://docs.gitlab.com/ee/ssh/ ),您可以在配置文件~/.ssh/config中設置 ssh 密鑰。 所以我在這個目錄中創建了一個包含以下內容的文本文件:

Host gitlab.lrz.de
 HostName gitlab.lrz.de
 IdentityFile ~/.ssh/id_ed25519

它仍然不起作用,我不確定它是否甚至使用這個配置文件。 我能夠在 Linux 服務器上運行所有內容,但不能在這台 Windows 計算機上運行。 我通過命令行和 Pycharm 進行了嘗試。

>git --version
git version 2.35.1.windows.1 

您可以在 git 配置中自定義 git 使用的 ssh 命令,然后在使用任何 git 命令時傳遞您的密鑰。

git config core.sshCommand "ssh -i ~/.ssh/id_ed25519"

在PyCharm中,嘗試導航到VCS -> Git -> Remotes ,並確保配置的URL與8820160549088 8881657866088888888888888888888888888888888888888888888888888888888888888(U可以看到8816578602088)(U可以看到88165788888888888888888888888888888888400884008884008840088400208840002.U

當你在 Windows 上有一個或多個 ssh 密鑰時,用於推送到單獨的 Git 存儲庫:

c:\用戶\anbj\.ssh\配置:

    Host github.com
        Hostname github.com
        User git
        IdentityFile /c/Users/anbj/.ssh/id_ed25519_client_A

    Host otherhub.com
        Hostname otherhub.com
        User git
        IdentityFile /c/Users/anbj/.ssh/id_ed25519_client_B

注意不要寫冒號(如 c: )。 令人困惑的是,這在運行測試時會起作用,例如

    ssh -vT github.com

...但是一旦您必須執行 Git 推送就會失敗

    git push -u origin develop

刪除冒號並使用絕對路徑對我有用 Git 2.36.0.windows.1 on Windows 11。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM