我的机器设置如下: windows 7,Git for windows,Git Bash,openSSH 1.6通过cygwin安装。
我按照https://help.github.com/articles/generating-ssh-keys
上的说明操作但我每次推东西时都要登录。
我想我的设置搞砸了...非常感谢任何帮助。
答案 0 :(得分:4)
为了能够使用基于密钥的身份验证(而不是HTTP basic-auth),您必须使用SSH协议。在Github上,URL看起来像这样:
git@github.com:username/repository.git
使用密钥身份验证后,您可以使用常用的SSH工具来管理连接。其中一个工具是SSH代理,它将在加载后解密您的私钥,并在运行时将其保存在主内存中。这允许新的SSH会话使用此密钥,而无需使用密码问题打扰您。
您可以通过运行
将私钥添加到当前SSH代理会话ssh-add /path/to/key
答案 1 :(得分:1)
如果你想删除密码而烦恼你,请输入:
ssh-keygen -p
输入旧的密码短语,当要求新密码短语时,请将其留空。
答案 2 :(得分:0)
我现在有点工作...... 起初我从cygwin卸载了ssh软件包,因为git for windows附带了ssh。
像Holger说我必须将密钥添加到ssh-agent但是从git bash我无法添加它。它的工作原理如下:eval 'ssh-agen.exe'
ssh-add ~/.ssh/id_rsa
在此之后,我能够在不输入密码的情况下推送。 剩下的唯一问题是我必须在每次系统重启后添加密钥......
任何想法如何解决这个问题?
答案 3 :(得分:0)
这些说明适用于Windows 7及更高版本。
.bashrc
的文件名(因此完整文件路径为C:\Users\XYZ\.bashrc
,其中XYZ
是您的Windows用户名在文件中添加这两行。 注意:如果不在 ~/.ssh/id_rsa
eval `ssh-agent`
ssh-add ~/.ssh/id_rsa
打开Git Bash应用程序,系统会提示您询问密钥的密码