当我尝试使用集成的 git 将更改推送到我的 Github 存储库时,VS Code 给我一个 ssh_askpass 错误

Gab*_*abe 9 git ssh github visual-studio-code

我有这个问题,我创建了一个 Github 存储库来备份一个项目。我可以从我的 Linux 命令行对我的 repo 进行正常的 SSH 访问,我可以毫无问题地推送、拉取、提交、同步和所有这些东西。但是当我尝试使用 VS Code github 集成工具来推送我的更改时,它给了我这个错误:

Git: ssh_askpass: exec(usr/lib/ssh/ssh_askpass): 没有那个文件或目录。

我已经在提到的目录中查找了这个文件,但我看到的只是一个名为 gassh_askpass 的文件。

我目前正在使用 Manjaro 和 VS Code 1.28.2

Von*_*onC 5

如果还取决于您的操作系统。

例如,Microsoft/vscode/issue 32097说明了各种 MacOS 解决方法:

就我而言,它是由 mac OS 更新引起的,使 git 丢失了我的 ssh 密钥的密码。
之后ssh-add ~/.ssh/id_rsa,重新安装vscode,这个问题就解决了。

或者:

$ brew tap theseal/ssh-askpass
$ brew install ssh-askpass
$ sudo ln -s /usr/local/bin/ssh-askpass /usr/X11R6/bin/ssh-askpass
Run Code Online (Sandbox Code Playgroud)

或者

  • 下载 xQuartz 最新版本:https ://www.xquartz.org
  • 通过“brew update && brew upgrade”更新和升级自制软件
  • 链接:$ sudo ln -s /usr/local/bin/ssh-askpass /usr/X11R6/bin/ssh-askpass如上述@stargriv 所述:-)
  • 启动 VSCode,现在应该可以工作了
  • 每次连接到服务器时,您仍然需要输入密码;如果您不想要,请创建一个 ssh-key 文件。

OP Prabesh巴特拉伊引用“ ssh_askpass exec(/usr/libexec/openssh/ssh-askpass) no such file or directory’的错误,当我尝试在Git中推动使用VS代码回购

如果您使用 SSH 密钥等服务,请确保不要禁用 SSH 密钥代理。这是一个愚蠢的错误

如果 SSH 代理被禁用,它确实无法注册密码。

  • 该操作正在使用Manjaro,为什么这个答案适用于MacOS,更奇怪的是为什么这个答案被接受! (4认同)
  • @VonC 还不错。我的+1。 (2认同)

ant*_*onD 5

我必须做两件事才能解决这个问题。

  1. 安装 ssh_askpass

     sudo apt install ssh-askpass
    
    Run Code Online (Sandbox Code Playgroud)
  2. 使用此命令添加 bitbucket.org(在我的情况下是 Bitbucket)

     ssh-keyscan -t rsa bitbucket.org >> ~/.ssh/known_hosts
    
    Run Code Online (Sandbox Code Playgroud)


小智 2

对于 Manjaro 用户,您可以安装openssh-askpass

pacman -S openssh-askpass
Run Code Online (Sandbox Code Playgroud)

当您尝试拉取和推送到 GitHub 时,这将在 VS Code 中打开一个类似等离子的 SSH 密码对话框。这适用于 Manjaro。

  • sudo pacman -S x11-ssh-askpass 为我工作。 (3认同)