gpt4 book ai didi

Git:git@gitlab.com:当我按下 "synchronize changes"按钮时权限被拒绝(公钥)

转载 作者:行者123 更新时间:2023-12-02 14:00:03 25 4
gpt4 key购买 nike

我使用 windows 和 cmder 并将默认终端设置为 cmder 的 bash 术语(我相信它是 cmder 附带的任何版本的 git-for-windows)。
我还有一个受密码保护的 ~/.ssh/id_ed25519 ssh key 文件。

这是我的 ~/.ssh/config 文件,尽管我已经尝试了该文件的几乎所有可能的设置。

Host gitlab.com
HostName gitlab.com
User git
IdentityFile ~/.ssh/id_ed25519`

我也试过
Host *
HostName gitlab.com
User git
IdentityFile ~/.ssh/id_ed25519`

我已经为此工作了很长时间,似乎没有关于这个主题的任何好的信息。无论我如何设置它,当我按下左下角的同步更改按钮时,它总是显示“Git: git@gitlab.com: Permission Denied (publickey)”。

我已经尝试了我在众多论坛上找到的所有内容,包括确保“ remote.SSH.showLoginTerminal”:设置为“ true”以及几乎所有可能的 ~/.ssh/config 配置。 .

当我从终端运行“ git pull”或“ git push”时,它会提示我输入 key 文件的密码,然后我输入密码,它工作正常。
出于某种原因,每当我点击同步更改按钮时,我都会收到相同的错误“ Git: git@gitlab.com: Permission Denied (publickey).

另外,我已经运行了“ssh-agent”,并且我的 key 文件作为身份添加到了 ssh-agent。所以当我输入“ ssh-add -l”时,它确实给了我正确的 key 文件信息。

所以总结一下关键事实:
  • 当我运行 git pull/push/... 时,它会提示我输入密码并且工作正常
  • 当我按“同步更改”时,它给了我错误消息Git: git@gitlab.com: Permission Denied (publickey)
  • 最佳答案

    首先检查 VSCode 在 pull 或推送时使用的远程 URL:
    Ctrl+Shift+P:Git:显示 Git 输出

    仔细检查本地存储库使用的远程 URL

    cd /path/to/repo
    git remote -v

    我会用作 URL
    git remote set-url origin gitlab.com:<me>/<myrepo>

    不需要 git@,因为你的 ~/.ssh/config应该为您提供。
    实际上,我会改变 ~/.ssh/config将主机条目从 gitlab.com 归档到 gitlab 并:
    git remote set-url origin gitlab:<me>/<myrepo>

    这样,您肯定会使用 SSH 配置文件。

    我还将测试身份验证
    ssh -T gitlab
    ssh -Tvvv gitlab

    (仅当第一种形式失败时才使用第二种形式)

    关于Git:git@gitlab.com:当我按下 "synchronize changes"按钮时权限被拒绝(公钥),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61020940/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com