Windows 10 从 1809 版本开始集成了 OpenSSH 确实是一件喜大普奔的好事,从此告别 mingw-w64,有面向对象的 PowerShell 加持,还有 WSL2Windows Terminal …,Windows 已经可以完全作为通用平台开发的操作界面了。
在 Windows 下安装 Git 会发现,其实 Git For Windows 内部集成了一个 mingw-w64 环境,也就是说 PowerShell 环境下的 SSH 配置并不会影响到 Git 的 SSH 配置,这样显然非常不方便,如果去维护两套 SSH 配置显然比较麻烦。还好 Git 是可以通过环境变量 GIT_SSH 来指定其 SSH 的执行路径的,下面我们来配置一下,让 Git 与 PowerShell 的 SSH 为同一个执行路径。
首先使用 Admin 权限的 PowerShell 执行下面命令,确保 ssh-agent 服务正常开启:

Get-Service ssh-agent | Set-Service -StartupType Automatic

建议服务启动后重启一次系统,或者执行一次 ssh-agent

然后把 SSH 的执行路径导入到 GIT_SSH 环境变量中:

[Environment]::SetEnvironmentVariable("GIT_SSH", "$((Get-Command ssh).Source)", [System.EnvironmentVariableTarget]::User)

完成上面两部操作后便大功告成了,使用 ssh-add 来导入 SSH KEY,再使用 Git 操作验证即可。

SSH 教程可以参考阮一峰老师的《SSH 入门教程》 https://github.com/wangdoc/ssh-tutorial

参考文档

  1. Git Internals - Environment Variables
  2. Using ssh-agent with git on Windows
  3. sharing-the-same-ssh-agent-among-multiple-login-sessions
Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐