答案 0 :(得分:0)
我发现的唯一解决方案是删除密码:
ssh-keygen -p
它将询问您当前的密码,并将新密码留空以将其删除。
答案 1 :(得分:0)
是,您可以避免出现此提示,而无需删除密码短语。
这样做通常很简单,并且依赖于ssh-agent
程序。首先,在启动VSCode之前,在bash shell提示符下运行:
$ eval `ssh-agent`
这将在后台启动ssh-agent
进程,该进程将在其内存中记住已解密的私钥。 eval
的原因是ssh-agent
打印两个需要添加到外壳程序的环境变量设置。 (您也可以正常运行它,然后手动将其输出复制并粘贴回shell中。)
下一步,运行:
$ ssh-add
这将提示您输入密码,然后ssh-agent
将为需要它的任何其他进程提供私钥服务。
最后,从运行第一个命令的同一外壳启动VSCode:
$ code
通过这种方式,VSCode将继承从ssh-agent
获取关键服务所需的环境变量,因此,只要ssh-agent
进程继续运行,就不会提示您输入密码。
不幸的是,尽管它非常有用,但很难找到ssh-agent
上的优质(简洁,易读)文档。但是这里有一些可能性:
man page(通常是手册页中的内容)着重细节,着重于示例。
文章http://rabexc.org/posts/using-ssh-agent很好,它涵盖了一些更高级的情况,尤其是代理转发。
Stack Exchange question, "what's the purpose of ssh-agent?"也很好。
答案 2 :(得分:0)
在设置中使用git.autofetch = false
禁用自动获取
答案 3 :(得分:0)
有关如何在Windows中解决该问题的指南非常完善:
https://www.cgranade.com/blog/2016/06/06/ssh-keys-in-vscode.html
摘要:
从“开始”菜单运行PuTTYgen,然后选择“文件”→“加载密钥...”。从此处导航到C:\ Users \ .ssh \,然后选择id_rsa(私钥)。您可能必须在对话框中下拉文件类型选择器才能看到此信息,因为PuTTYgen默认会过滤掉除* .ppk结尾的文件以外的所有内容。选择后,PuTTY会提示您输入密码来解锁密钥。这样做,PuTTYgen将显示相应的公钥。选择文件→保存私钥,以PuTTY(而不是OpenSSH)格式导出私钥。我建议将其另存为与id_rsa相同的文件夹中的id_rsa.ppk
最后,从“开始”菜单运行Pageant(将来,这将由我们在上面创建的快捷方式自动处理)。这将在系统托盘中添加一个新图标。它可能被箭头隐藏了;如果是这样,请单击箭头以显示所有系统托盘图标。右键单击Pageant,然后选择添加密钥。浏览到保存id_rsa.ppk的位置并选择它。系统会提示您解锁密钥。这样一来,您的解锁密钥便可以在Pageant中使用,直到您注销或退出Pageant。
添加指纹,在外壳中运行这两个指纹之一(取决于您的需要)
'C:\ Program Files(x86)\ PuTTY \ plink.exe'git@github.com
'C:\ Program Files(x86)\ PuTTY \ plink.exe'git@bitbucket.org
将GIT_SSH配置为C:\ Program Files(x86)\ PuTTY \ plink.exe
答案 4 :(得分:0)
对于Windows 10,如果您使用 Remote-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
(正如documentation在git(非)问题上指向this comment所指出的那样。)