3

我的机器设置如下:windows 7、Git for windows、Git Bash、openSSH 1.6 通过 cygwin 安装。

我按照https://help.github.com/articles/generating-ssh-keys上的说明进行操作

但是每次推送东西时我仍然必须登录。

我想我的设置搞砸了......非常感谢任何帮助。

4

4 回答 4

4

为了能够使用基于密钥的身份验证(而不是 HTTP 基本身份验证),您必须使用 SSH 协议。在 Github 上,URL 如下所示:

git@github.com:username/repository.git

使用密钥身份验证后,您可以使用常用的 SSH 工具来管理连接。这些工具之一是 SSH 代理,它会在加载后解密您的私钥一次,并在运行时将其保存在主内存中。这允许新的 SSH 会话使用此密钥,而不必用密码问题来打扰您。

您可以通过运行将私钥添加到当前 SSH 代理会话

ssh-add /path/to/key
于 2013-02-22T10:52:08.823 回答
1

如果您想删除密码并且它让您烦恼,请输入:

ssh-keygen -p

输入旧密码,当要求输入新密码时,将其留空。

于 2015-08-23T09:39:04.653 回答
0

我现在让它工作了...起初我从 cygwin 卸载了 ssh 包,因为 git for windows 附带 ssh。

就像 Holger 说的我必须将密钥添加到 ssh-agent 但从 git bash 我无法添加它。它是这样工作的:

eval 'ssh-agen.exe'

ssh-add ~/.ssh/id_rsa

在此之后,我能够在不输入密码的情况下进行推送。剩下的唯一问题是我必须在每次系统重新启动后添加密钥......

任何想法如何解决这一问题?

于 2013-02-22T13:42:55.093 回答
0

这些说明适用于 Windows 7 及更高版本。

  1. 创建一个.bashrc在您的主目录中命名的文件名(因此完整的文件路径是C:\Users\XYZ\.bashrcXYZ的 Windows 用户名
  2. 在文件中添加这两行。注意:如果不在,请更改私钥文件的位置 ~/.ssh/id_rsa

    eval `ssh-agent`

    ssh-add ~/.ssh/id_rsa

  3. 打开 Git Bash 应用程序,系统会提示您输入密钥密码

于 2013-10-22T14:30:33.773 回答