当我尝试使用 VS Code 推送 Git 仓库时出现“ssh_askpass exec(/usr/libexec/openssh/ssh-askpass) 没有这样的文件或目录”错误

当我尝试使用 VS Code 推送 Git 仓库时出现“ssh_askpass exec(/usr/libexec/openssh/ssh-askpass) 没有这样的文件或目录”错误

不知道发生了什么。但是突然间我无法在 GitHub 中推送更新。一个月前,我使用 SSH 密钥将 VS Code 与 Github 集成,这样我就不必每次在将更新推送到 Git 存储库时都输入电子邮件和密码。

我认为 BleachBit 删除了一些重要文件,并且发生了这种情况。 这是我的胡乱猜测。我无法确认这一点。因为除了这个我什么都没做。VS Code 以前工作正常。突然就发生这种情况了。我得小心使用 Bleachbit如果这是 Bleachbit 的行为。 错误信息截图。

与此同时,我花了一周时间思考如何解决这个问题。如果你也遇到过这个问题,那就把它注释掉吧。

当我这样做时ls /usr/bin/ssh-askpass,它说没有文件或文件夹。这可能是问题的原因。但我确实看到了里面的这些文件夹/usr/bin与ssh相关: ssh ssh-add //is a file that supposed to be deleted when I unistalled ssh-askpass ssh-agent //is a file ssh-argv0 ssh-copy-id ssh-keygen ssh-keyscan

答案1

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

  1. 正如@Wan-Chap 上面所说

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

     ssh-keyscan -t rsa bitbucket.org >> ~/.ssh/known_hosts
    

答案2

似乎你的 ssh-askpass 丢失了。只需通过以下方式重新安装它:

sudo apt install ssh-askpass

答案3

好吧,我想(并且 100%)我找到了解决方案。如果您使用 SSH 密钥之类的服务,请确保不要禁用SSH 密钥代理。这是一个愚蠢的错误。一周前,我试图通过禁用所有在启动时自行启动的不需要的服务来减少启动时间。我读了 askubuntu 帖子,有人要求禁用这些服务。现在我意识到了这一点。

截屏

吸取教训。不要做任何你知道肯定不行。如果您依赖 SSH,请尽量不要禁用与 SSH 相关的其他启动服务。启用该服务后,您可能需要重启.然后你就可以走了。

相关内容