Windows 中让 ssh-agent 支持 Git


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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值