无法将代码从 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:权限被拒绝(公钥,键盘交互)的主要内容,如果未能解决你的问题,请参考以下文章
从 Visual Studio Code (1.62.2) 推送到 GitHub 时出现“致命:身份验证失败”