Windows 10 从 1809 版本开始集成了 OpenSSH 确实是一件喜大普奔的好事,从此告别 mingw-w64,有面向对象的 PowerShell 加持,还有 WSL2、Windows 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