繁体   English   中英

OSX 上的 VScode - GIT ssh 密钥密码 - 从终端中的构建工作而不是从命令面板

[英]VScode on OSX - GIT ssh key passphrase - working from build in terminal put not from command palette

我可以连接到 Git 服务器并从终端中的 VSCode 构建做任何我想做的事情,但是,一旦我使用命令面板并想要执行推送,它就会失败,因为现在显示密码提示。

有什么办法可以避免在每次推送时输入密码?

考虑到远程开发提示和技巧部分,这似乎是意料之中的:

启用备用 SSH 身份验证方法#

如果您连接到 SSH 远程主机并且是:

  • 连接两因素身份验证
  • 使用密码验证
  • 当 SSH 代理未运行或无法访问时,使用带有密码的 SSH 密钥

然后 VS Code 应该会自动提示您输入所需的信息。

所以请确保SSH 代理在本地运行

VS Code 会自动将您的密钥添加到代理,因此您不必每次打开远程 VS Code window 时都输入密码。

要验证代理是否正在运行并且可以从 VS Code 的环境访问,请在本地 VS Code window 的终端中运行ssh-add -l
您应该会看到代理中的密钥列表(或它没有密钥的消息)。
如果代理未运行,请按照以下说明启动它。 启动代理后,一定要重启 VS Code。

为了使它工作,我必须将密钥添加到 OSX 钥匙串并在.ssh/config 中配置它

自动将密钥加载到 ssh-agent 并将密码短语存储在钥匙串中:(请参阅第 2 步)

如果您使用的是 macOS Sierra 10.12.2 或更高版本,您将需要修改您的 ~/.ssh/config 文件以自动将密钥加载到 ssh-agent 并将密码短语存储在您的钥匙串中。

首先,检查您的 ~/.ssh/config 文件是否存在于默认位置。

$ open ~/.ssh/config
> The file /Users/YOU/.ssh/config does not exist.

如果该文件不存在,则创建该文件。

$ touch ~/.ssh/config

打开 ~/.ssh/config 文件,然后修改该文件以包含以下行。 如果您的 SSH 密钥文件的名称或路径与示例代码不同,请修改文件名或路径以匹配您当前的设置。

Host *.github.com
  AddKeysToAgent yes
  UseKeychain yes
  IdentityFile ~/.ssh/id_ed25519

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM