我查看了几个有关为什么git每次都要求SSH密钥密码的问答,但是没有一个描述了我的情况。我的情况与众不同的是,我已成功创建了一个SSH密钥,并将其添加到代理中,代理正在运行。所以当我运行以下命令时:
ssh -T git@github.com
我立即看到成功消息“您已成功验证,但 GitHub 不提供 shell 访问权限。”它没有要求输入密码。
令人困惑的是,在 powershell 中,当我导航到与该帐户相关联的 git 存储库时,并运行像这样的 git 命令:
cd ~/mygitrepo
git fetch
当我运行git
命令时,会要求我输入密钥' C:\ Users \ me \ .ssh \ github '的密码。
如果我输入了密码,我就可以成功地从存储库获取数据。
为什么在运行git
命令时会要求我输入密码,但是在运行ssh
命令时不需要?
额外细节
我正在运行Windows 10,在Windows Terminal中使用PowerShell。我每天都使用ssh连接到各种远程主机,它从未要求输入密码。
来自~ / .ssh / config的片段
Host github.com
HostName github.com
User git
IdentityFile C:\Users\me\.ssh\github
来自~/mygitrepo/.git/config的代码片段
[remote "origin"]
url = git@github.com:myuser/myrepo.git
core.sshCommand
应该可以解决这个问题。 - torek