Windows平台在使用Git的时候经常会出现反复输入密码,生成密钥对的时候如果设置了密码,那么每次使用时都会要求输入密码,那可以通过下面的方式解决。
1. 配置ssh自动启动
管理员启动终端
Set-Service ssh-agent -StartupType Auto # 设置为自动
Start-Service ssh-agent # 启动
Get-Service ssh-agent | Select StartType # 获取启动模式信息
或者
Win+R
输入 services.msc
,找到并双击OpenSSH Authentication Agent选项,在弹出界面中选中“自动”并“启动”。
2. 在Powershell中对git做相应配置
git config --global core.sshCommand C:/Windows/System32/OpenSSH/ssh.exe
# 或者
git config --global core.sshCommand C:\\Windows\\System32\\OpenSSH\\ssh.exe
3. 创建config文件并添加秘钥
首先创建 C:\Users\%YOUR_USERNAME%\.ssh\config
文件,并在其中添加如下内容(Host后的*代表所有域名都这么干,实际上是可以根据不同域名来使用不用ssh秘钥passphrase的,更多细节可以点击参考此处)
Host *
User your_user_name
IdentityFile ~/.ssh/your_file_name
your_file_name
为私钥的文件名
之后添加该秘钥即可
ssh-add C:\Users\%YOUR_USERNAME%\.ssh\your_file_name
%YOUR_USERNAME%
为用户名
然后就可以免密码了。