首页 > 解决方案 > 适用于 Windows 的 Git - 每次推送都要求输入 SSH 密码

问题描述

我今天为 Windows 安装了 git 并进行了一些测试,我发现在每次推送中我都被要求输入密码(在 Linux 上不会发生这种情况)。

我对另一个线程提出了一些建议,我发现我没有配置 ssh-agent,但是我这样做了,问题仍然存在。

图片

有什么建议吗?谢谢!

标签: gitsshgit-for-windows

解决方案


我遇到了同样的问题,花了几个小时试图弄清楚为什么 windows 一直要求我输入 ssh 密码,帮助我的是一个解决方案:https ://www.teapotcoder.com/post/how-to-fix- git-ssh-asking-for-password-on-windows-10/

打开 PowerShell 并输入命令

Get-Command ssh

如果该输出列出了不在您的 git usr/bin 目录中的可执行文件,请执行以下操作:

git config core.sshCommand (get-command ssh).Source.Replace('\','/')

或者,如果您想在当前的 PowerShell 会话中测试它,而不会弄乱 Git 配置

$ENV:GIT_SSH_COMMAND = (get-command ssh).Source.Replace('\','/')

为什么这行得通?

安装 git 时,它带有 ssh。但是,如果您有较新版本的 Windows 10,Windows 会安装随附的 SSH。安装在 C:\Windows\System32\OpenSSH。将其放入环境 PATH 中,然后进行测试:

ssh -T git@github.com

使用您通过 ssh-add 使用 Windows 提供的二进制文件添加的密钥。但是 git 正在使用 git usr/bin 文件夹中的 ssh 内容。不同的键集。因此,每次 git pull 时都会提示您输入密码。


推荐阅读