使 vsCode 在推送时不询问 gitlab ssh 密码

问题描述 投票:0回答:4

我创建了 ssh 密钥,将其添加到 gitlab 上,然后按照说明进行操作。当我从 git bash 进行推送时,一切正常,但每次输入密码都让我很烦恼。但是当我尝试从 vsCode 推送时,它不会要求我输入密码并抛出错误

Git:[电子邮件受保护]:权限被拒绝(公钥、键盘交互)。

有什么办法可以解决这个问题吗? 还有额外的帮助:我怎样才能阻止它每次都询问我密码。

我知道,我的奖金帮助也有类似的问题,但我找不到任何有关 vsCode 问题的信息。我使用的是 Windows 11。

抱歉,如果标题有误导性。

git visual-studio-code gitlab ssh-keys windows-11
4个回答
3
投票

您可以在钥匙串存储中保存密码。

对于苹果机

ssh-add --apple-use-keychain ~/.ssh/[private-key]

12.0 岁以上蒙特雷

ssh-add -K ~/.ssh/[your-private-key]

这是类似的问题.


2
投票

但是当我尝试从 vsCode 推送时,它不会要求我输入密码并抛出错误

它会询问您,从 VSCode 1.72(2022 年 9 月)开始

当使用带有密码的 SSH 密钥进行 Git 操作时,VS Code 现在将显示快速输入控件,以便您可以输入 SSH 密钥的密码。

密码不会被缓存,每次执行 Git 操作时都必须输入密码。

使用 ssh 代理应该有助于避免密码短语(每个会话多次)。请参阅“OSX 上的 VScode - GIT ssh 密钥密码 - 从终端中构建而不是从命令面板工作”。


0
投票

我认为您在创建密钥时已经给出了密码,这就是为什么您每次提交某些内容时都需要提供密码。 一种解决方案是更新/重新制作没有密码的 ssh 密钥并将其添加到 gitlab。

0
投票

我假设您已经正确配置终端以使用 ssh-agent 保存密钥。如果是这种情况,您需要确保没有其他 ssh.exe,特别是在 C:\Program Files\Git\usr 下,在我的情况下,vscode 更喜欢该路径中的 ssh.exe,并且由于我不这样做,所以这会损坏那里没有 ssh-agent 。我的解决方案就是删除它,因为 C:\Windows\System32\OpenSSH\ssh.exe 充当 ssh 命令

© www.soinside.com 2019 - 2024. All rights reserved.