我希望git能够记住我的密钥密码。在Windows 7上,我应该如何做呢?我已经阅读了这里https://help.github.com/articles/set-up-git的帮助页面。
如果您按照Github上的指示进行操作,请注意以下内容。
知识点:凭据助手仅在克隆HTTPS repo URL时有效。如果使用SSH repo URL,则需要使用SSH密钥进行身份验证。
由于您使用了ssh,因此git凭证助手不会起作用。 您有几个选项。
ssh问题并非特定于git。 您可以设置ssh-agent,以便只需输入一次ssh密钥密码。 它将被记住,安全地存储在内存中,直到您退出登录。 Github有一份关于设置ssh-agent的教程。
无论选择哪个选项,我都强烈建议您抽出时间设置ssh-agent。 SSH非常有用且广泛使用,您可能会再次遇到此问题。
您可以从https://github.com/username/my-repo.git
克隆,而不是从git@github.com:username/my-repo.git
克隆。 这是您项目页面上的http
按钮。 然后,Github文档中描述的git凭据助手将起作用。 您可能需要首先安装它,或者使用他们的Github应用程序。 所有这些都在Github Windows设置指南的“密码缓存”部分中进行了描述。
该指南提到他们现在有一个Github应用程序,它可能可以为您处理此问题。 但是,其他git服务器不会有这样的东西,这只是一种临时措施。
github提供两种不同的访问存储库的方法:https和ssh。
在您最初的问题版本中,您配置了git通过ssh访问github。因此,git调用ssh,然后尝试读取您的密钥并要求您输入ssh密钥的密码。
创建ssh密钥时,您可以选择使用密码来保护它,或者决定不使用密码保护。
如果您选择使用密码,则每次想要使用密钥(即push,fetch等)都必须输入密码,或者您可以使用ssh-agent。在后一种情况下,您只需在将密钥添加到代理时输入一次密码。之后,代理将为您执行所有授权操作。
在Windows上,您可以使用PuTTY工具管理密钥: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
您可以使用puttygen
生成新密钥或更改现有密钥(例如删除密码)。
您可以使用pagent
作为ssh代理。启动后,它将驻留在通知区域。单击图标以添加您的密钥。
一旦代理知道了密钥,您就不再需要输入ssh密码。