VSCode 不断询问 SSH 密钥的密码

Jon*_*hon 12 visual-studio-code

我最近升级了我的 VSCode 版本 1.10.2。当我将密码放在我的私人 SSH 密钥上时,即使我多次输入它,它也开始频繁地要求它,这非常烦人。无论如何我可以摆脱它吗?谢谢。 在此处输入图片说明

小智 13

对于 Windows 10,如果您使用远程 - SSH插件偶然发现此问题,请在 powershell 中运行以下命令(以管理员身份):

# Make sure you're running PowerShell as an Administrator
Set-Service ssh-agent -StartupType Automatic
Start-Service ssh-agent
Get-Service ssh-agent
Run Code Online (Sandbox Code Playgroud)

(正如有关git (非)问题的评论所指出的文档所建议的那样。)


Sco*_*eak 11

是的,您可以避免此提示,而无需删除密码。

这样做通常相当简单并且依赖于ssh-agent程序。首先,在启动 VSCode 之前,在 bash shell 提示符下,运行:

$ eval `ssh-agent`
Run Code Online (Sandbox Code Playgroud)

这将ssh-agent在后台启动一个进程,该进程将记住其内存中解密的私钥。原因evalssh-agent打印了两个需要添加到 shell 的环境变量设置。(您也可以正常运行它,然后手动将其输出复制并粘贴回 shell。)

接下来,运行:

$ ssh-add
Run Code Online (Sandbox Code Playgroud)

这将提示您输入密码,之后ssh-agent将为需要它的任何其他进程提供私钥服务。

最后,从运行第一个命令的同一个 shell 启动 VSCode:

$ code
Run Code Online (Sandbox Code Playgroud)

这样 VSCode 将继承从 获取关键服务所需的环境变量,ssh-agent因此只要ssh-agent进程继续运行,就不会提示您输入密码。

进一步参考

不幸的是,尽管它非常有用,但ssh-agent很难找到好的(简洁易读的)文档。但这里有一些可能性:


小智 10

我找到的唯一解决方案是删除密码:

ssh-keygen -p
Run Code Online (Sandbox Code Playgroud)

它将询问您当前的密码并将新密码留空以将其删除。