我创建了 ssh 密钥,将其添加到 gitlab 上,然后按照说明进行操作。当我从 git bash 进行推送时,一切正常,但每次输入密码都让我很烦恼。但是当我尝试从 vsCode 推送时,它不会要求我输入密码并抛出错误
Git:[电子邮件受保护]:权限被拒绝(公钥、键盘交互)。
有什么办法可以解决这个问题吗? 还有额外的帮助:我怎样才能阻止它每次都询问我密码。
我知道,我的奖金帮助也有类似的问题,但我找不到任何有关 vsCode 问题的信息。我使用的是 Windows 11。
抱歉,如果标题有误导性。
您可以在钥匙串存储中保存密码。
对于苹果机
ssh-add --apple-use-keychain ~/.ssh/[private-key]
12.0 岁以上蒙特雷
ssh-add -K ~/.ssh/[your-private-key]
这是类似的问题.
但是当我尝试从 vsCode 推送时,它不会要求我输入密码并抛出错误
它会询问您,从 VSCode 1.72(2022 年 9 月)开始:
当使用带有密码的 SSH 密钥进行 Git 操作时,VS Code 现在将显示快速输入控件,以便您可以输入 SSH 密钥的密码。
密码不会被缓存,每次执行 Git 操作时都必须输入密码。
使用 ssh 代理应该有助于避免密码短语(每个会话多次)。请参阅“OSX 上的 VScode - GIT ssh 密钥密码 - 从终端中构建而不是从命令面板工作”。
我假设您已经正确配置终端以使用 ssh-agent 保存密钥。如果是这种情况,您需要确保没有其他 ssh.exe,特别是在 C:\Program Files\Git\usr 下,在我的情况下,vscode 更喜欢该路径中的 ssh.exe,并且由于我不这样做,所以这会损坏那里没有 ssh-agent 。我的解决方案就是删除它,因为 C:\Windows\System32\OpenSSH\ssh.exe 充当 ssh 命令