无法将代码从 Vs Code 界面推送到 gitlab。 Git:git@gitlab.com:权限被拒绝(公钥,键盘交互)

Posted

技术标签:

【中文标题】无法将代码从 Vs Code 界面推送到 gitlab。 Git:git@gitlab.com:权限被拒绝(公钥,键盘交互)【英文标题】:Not able to push code from Vs Code interface to gitlab. Git: git@gitlab.com: Permission denied (publickey,keyboard-interactive) 【发布时间】:2021-06-10 01:09:37 【问题描述】:

我正在使用 mac。我的 vs 代码有点连接到 gitlab。我可以使用 VS 代码接口提交代码,但无法将代码推送到仓库;但是,我可以使用终端(git push)推送代码。不知道如何让我的 Vs 代码推送代码而无需打开终端并执行 git push。

每次我从 vs 界面推送代码时,我都会收到错误“Git: git@gitlab.com: Permission denied (publickey, keyboard-interactive)”。 如果有人知道,请告诉我,谢谢。

【问题讨论】:

【参考方案1】:

git@gitlab.com 表示 SSH 网址

尝试检查ssh -Tv git@gitlab.com 在 VSCode 本身的终端中返回的内容。

检查this thread,其中包括假设您的私人 SSH 密钥受密码保护):

这很可能是因为您的 SSH 密钥没有“解锁”。

在 Mac 上创建 SSH 密钥后,您可以使用以下命令将其添加到钥匙串中:

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

然后在~/.ssh/config 中添加:

Host *
 UseKeychain yes
 AddKeysToAgent yes
 IdentityFile ~/.ssh/[your-private-key]

所以它知道在哪里看,这也将使您无需每次都输入密码,因此允许 VSCode 使用它们的密钥,因为它不仅在您推进时解锁命令行

【讨论】:

我做了你的步骤,在从 vs 代码推送时再次出现同样的事情。当我执行 ssh -Tv git@gitlab.com 时,它返回这个(我只复制了最后 5 行) debug1:可以继续的身份验证:publickey,keyboard-interactive debug1:下一个身份验证方法:keyboard-interactive debug1:身份验证可以继续:publickey,keyboard-interactive debug1:没有更多的身份验证方法可以尝试。 git@gitlab.com:权限被拒绝(公钥,键盘交互)。如果需要,我可以复制所有行并显示。 @HemantaSharma 在终端中,在存储库的根文件夹中,git remote -v 是否返回以git@gitlab.com:... 开头的 SSH URL?还是以 https://gitlab.com 开头的 HTTPS URL?

以上是关于无法将代码从 Vs Code 界面推送到 gitlab。 Git:git@gitlab.com:权限被拒绝(公钥,键盘交互)的主要内容,如果未能解决你的问题,请参考以下文章

VS Code 将原有项目重新绑定到Gitee

从 Visual Studio Code (1.62.2) 推送到 GitHub 时出现“致命:身份验证失败”

VS团队资源管理器(VS自带git)使用说明_使用VS自带git推送到远程存储库

使用Angular2中的接口将对象推送到新数组中

将更新从 Python 服务器推送到 Web 界面

无法将更改从 AWS CodeBuild 推送到 AWS CodeCommit