在Windows上將git與ssh-agent搭配使用,再也不用輸入git密碼了
前言
之前的文章中已經解決了 Windows 上的 SSH 登錄的問題,成功把 Windows 上的 ssh-agent 用起來了,詳情可以看這篇文章: 在 Windows 10 上實現免密碼 SSH 登錄
不過使用 git 還是會反復提示輸入私鑰密碼,煩得很
原因也很簡單,打開 git bash 運行一下命令測試就知道了
$ ssh-add -l
Could not open a connection to your authentication agent.
就是 git 里用的 ssh 是它自帶的,不是 Windows 系統的那一個,應該是為了兼容性考慮吧,畢竟之前 Windows 是沒有 ssh 的
那么解決思路也很簡單,只要配置 git 使用 Windows 的 SSH 就行了
配置
一行代碼搞定
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 了
如果有遇到類似問題的同學,可以參考一下。
參考資料
微信公眾號:「程序設計實驗室」
專注于互聯網熱門新技術探索與團隊敏捷開發實踐,包括架構設計、機器學習與數據分析算法、移動端開發、Linux、Web前后端開發等,歡迎一起探討技術,分享學習實踐經驗。

浙公網安備 33010602011771號