前言
之前的文章中已经解决了 Windows 上的 SSH 登录的问题,成功把 Windows 上的 ssh-agent 用起来了,详情可以看这篇文章: 在 Windows 10 上实现免密码 SSH 登录
不过使用 git 还是会反复提示输入私钥密码,烦得很
原因也很简单,打开 git bash 运行一下命令测试就知道了
bash
$ ssh-add -l
Could not open a connection to your authentication agent.
就是 git 里用的 ssh 是它自带的,不是 Windows 系统的那一个,应该是为了兼容性考虑吧,毕竟之前 Windows 是没有 ssh 的
那么解决思路也很简单,只要配置 git 使用 Windows 的 SSH 就行了
配置
一行代码搞定
powershell
git config --global core.sshCommand "'C:\Windows\System32\OpenSSH\ssh.exe'"
有问题?
一开始我配置完了运行老是出错
CreateProcessW failed error:2
posix_spawnp: No such file or directory
后面加了 -v
参数才发现是我的 ~/.ssh/config
里的配置
之前配置了 GitHub 走代理
Host github.com
User git
Port 443
HostName ssh.github.com
TCPKeepAlive yes
ProxyCommand "$HOME/scoop/apps/git/current/mingw64/bin/connect.exe -S 127.0.0.1:7890 -a none %h %p"
之前在 git 自带的 ssh 环境下运行没问题,但现在用了 Windows 的 ssh 反而不行了,于是把这个 ProxyCommand
配置注释掉,就 OK 了
如果有遇到类似问题的同学,可以参考一下。