我刚刚开始使用git,我不能让它记住我的密码,我使用cmd.exe提升,我的git主机是github,我已经创建了一个ssh密钥,就像github上的指南
但我还是得到了
*\subnus.mvc>git push origin master
Enter passphrase for key '/c/Users/Subnus/.ssh/id_rsa':
我刚刚开始使用git,我不能让它记住我的密码,我使用cmd.exe提升,我的git主机是github,我已经创建了一个ssh密钥,就像github上的指南
但我还是得到了
*\subnus.mvc>git push origin master
Enter passphrase for key '/c/Users/Subnus/.ssh/id_rsa':
当前回答
对于任何需要更详细说明的人,请参阅本页: https://docs.github.com/authentication/connecting-to-github-with-ssh/working-with-ssh-key-passphrases
其他回答
如果您为密钥文件设置了密码,则在连接时始终需要输入该密码。如果你创建了一个无密码密钥,那么你就不必每次都输入它,但是,任何访问你的密钥文件的人现在都可以连接到你的github帐户。
Ssh-agent也可以工作。试着运行它,看看它是否会记住你的密码。
如何在Windows下正常运行SSH-Agent
现有的答案没有一个能使我满意地解决这个问题。下面是微软的建议:
以管理员权限启动powershell控制台:
按Win Win开始菜单,输入powershell,按回车键
将Windows中包含的OpenSSH添加到PATH变量中:
setx PATH "c:/Windows/System32/OpenSSH/;$Env:PATH;"
关闭powershell终端,打开一个新的。
输入以下命令,确保openssh代理作为服务在后台运行:
# enable automatic start
Get-Service ssh-agent | Set-Service -StartupType Automatic
# start it now
Start-Service ssh-agent
现在服务应该运行,你可以检查通过
Get-Service ssh-agent
将您的私钥加载到ssh-agent中,例如:
ssh-add $env:USERPROFILE/.ssh/id_rsa
来源:https://learn.microsoft.com/en-us/windows-server/administration/openssh/openssh_keymanagement user-key-generation
现在您应该可以使用您的私钥,而不必每次都输入密码。
如果你在Windows下使用Git bash,你可以执行以下操作:
eval `ssh-agent -s`
ssh-add ~/.ssh/*_rsa
它会在第二个命令中要求传递短语,就是这样。你需要做的每一个额外的操作(曾经需要pass phrase)都不会要求你提供pass phrase(参见下面的屏幕截图中的例子):
确保你的~/。Ssh /config不包含
UseKeychain是的
防止ssh-add持久化到ssh-agent。
窗口: 如果您从@d3r3kk开始执行步骤 如果你还有问题,那就试试这个:
窗口:
删除。bashrc文件 这个文件通常位于C:\Users\myusername