今天我在Windows上安装了Git,做了一些测试后发现在每次push时都会要求输入passphrase(这在Linux上不会出现)。
我在另一个帖子中提出了一些建议,我看到我没有配置ssh-agent,但我已经配置了它,问题仍然存在。
有什么建议吗?谢谢!
今天我在Windows上安装了Git,做了一些测试后发现在每次push时都会要求输入passphrase(这在Linux上不会出现)。
我在另一个帖子中提出了一些建议,我看到我没有配置ssh-agent,但我已经配置了它,问题仍然存在。
有什么建议吗?谢谢!
我曾经遇到过同样的问题,浪费了几个小时试图弄清楚为什么Windows一直要求我输入ssh密码。最后,这篇文章给了我帮助:https://www.teapotcoder.com/post/how-to-fix-git-ssh-asking-for-password-on-windows-10/
打开PowerShell并输入命令
Get-Command ssh
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操作时都会提示输入您的密码。
ssh.exe
。 - Tomssh-agent
,因为OpenSSH代理是Windows 10和11下的一个Windows服务,所以你只需要配置git使用Windows版本的ssh
即可。非常感谢,之前为此问题烦恼了很久。 - undefined请尝试以下
使用 Git Bash 而不是 PowerShell 将您的密钥文件复制到 ~/.ssh 将以下代码粘贴到您的 ~/.profile 或 ~/.bashrc 中 重新启动 Git Bash启动 Git Bash 时,会提示输入密钥或密码,然后无缝工作。脚本还将启动 SSH 代理并使用 ssh-add 添加密钥文件。