VSCode继续询问SSH密钥的密码

时间:2017-03-10 00:10:16

标签: visual-studio-code

我最近升级了我的VSCode版本1.10.2。 当我把密码短语放在我的私人SSH密钥上时,即使我多次输入密码,它也开始经常询问它,这非常烦人。无论如何我可以摆脱它吗?谢谢。 enter image description here

5 个答案:

答案 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上的优质(简洁,易读)文档。但是这里有一些可能性:

答案 2 :(得分:0)

在设置中使用git.autofetch = false禁用自动获取

答案 3 :(得分:0)

有关如何在Windows中解决该问题的指南非常完善:

https://www.cgranade.com/blog/2016/06/06/ssh-keys-in-vscode.html

摘要:

  • 安装必需的软件(腻子)
  • 设置私钥(使用ssh-keygen将在.ssh文件夹中创建私钥和公钥)
  • 设置SSH代理:在Windows启动时运行Pageant工具
  • 将密钥导入为ppk格式

从“开始”菜单运行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所指出的那样。)