【发布时间】:2012-09-10 04:56:48
【问题描述】:
好的,这是一个非常具体的问题,但我在弄清楚它时遇到了一些挑战,所以我想我会分享我的经验,这样如果其他人遇到同样的问题,他们可以更快地解决它。
目标:使用 ssh-agent 和 msysgit 尽可能安全地存储 ssh 密钥密码,以防止每次涉及远程存储库的 git 命令都必须键入它
【问题讨论】:
好的,这是一个非常具体的问题,但我在弄清楚它时遇到了一些挑战,所以我想我会分享我的经验,这样如果其他人遇到同样的问题,他们可以更快地解决它。
目标:使用 ssh-agent 和 msysgit 尽可能安全地存储 ssh 密钥密码,以防止每次涉及远程存储库的 git 命令都必须键入它
【问题讨论】:
1)在用户目录下创建.bashrc文件(默认windowsC:\Users\UserName\)
注意:如果您认为您可以在 Windows 资源管理器中右键单击目录并创建一个名为 .bashrc 的文件,那么您(和我)可悲的是,您会从资源管理器中收到一个错误,阻止您创建没有名称的文件.因此,我通过执行echo 'blah' >> .bashrc 从我的 git bash 中执行此操作,这样我就可以在记事本中编辑文件以将所需的代码放入其中。
2) 在文本编辑器中编辑 .bashrc 并将此处找到的代码:https://help.github.com/articles/working-with-ssh-key-passphrases#platform-windows 放在“Auto-launching ssh-agent on msysgit”下
3) 重启 bash。
疑难解答:ps 将显示所有正在运行的进程。我发现当我对此进行测试时,启动 bash 时并没有提示我输入密码。当我执行ps 时,我注意到许多 ssh 代理正在运行。将它们全部杀死后,我能够重新启动 git bash 并且一切正常。发现这个问题花了我最长的时间。
【讨论】:
.bashrc.(至少 7+),Windows 会给你一个 .bashrc 文件。
在 git repo-url 中包含 pass 怎么样:
git clone http://username:password@example.com/git/Project.git .
这不是很安全的解决方案,但有效:)
【讨论】: