我刚刚安装了Git For Windows,并通过Cygwin使用SSH创建了我的SSH密钥。它似乎是从命令行和Git For Windows GUI工作,但现在我想使用TortoiseGit。 TortoiseGit默认使用类似Putty的SSH客户端,但显然GitHub只接受(开放)SSH,我真的不知道如何继续。我将做一个干净的TortoiseGit安装,我已经安装了Cygwin和Git for Windows。
答案 0 :(得分:39)
对于希望更改现有TortoiseGit安装以使用PuTTY而不是OpenSSH的任何人,只需右键单击, - > TortoiseGit - > 设置 - > 网络,然后将“ssh.exe”更改为“tortoiseplink.exe”。从那时起,如果你还有正在运行的那样,那么推/拉应该使用Pageant(以及你在那里设置的任何键)。
答案 1 :(得分:9)
最简单的方法是首先使用设置SSH客户端到TortoisePLink安装TortoiseGit然后安装msysgit。使用TortoiseGit Puttykey生成器创建一个新的密钥对,将您的公钥添加到GitHub。
克隆/创建新存储库。在Tortoise存储库设置中,设置您的全名和电子邮件。然后在Git配置菜单下的远程菜单中输入您的克隆URL并选择您的PuTTY键。 GitHub可以很好地使用PuTTY键。我有朋友使用它,我自己也用它。
答案 2 :(得分:3)
使用文章 Working with SSH key passphrases 中描述的方法。
在Cygwin会话启动时只会要求输入一次密码。 !在退出Cygwin会话之前,不要忘记终止ssh-agent进程(使用ps查找进程PID和kill -9)。
我们正在为Cygwin使用一种单独的方法,因为Cygwin由于某种原因没有看到在Windows环境中从外部启动进程。
有用的链接: http://dogbiscuit.org/mdub/weblog/Tech/WindowsSshAgent
安装MsysGit。 安装TortoiseGit(在安装过程中检查openssh而不是plink)。 !检查系统变量。如果存在GIT_SSH变量 - 将其删除。
转到 TortoiseGit - > 设置 - > 一般
将Git EXE路径设置为< MsysGitHome> / bin。 将外部DLL路径设置为< MsysGitHome> / mingw / bin。
转到 TortoiseGit - > 设置 - > 网络。 将SSH客户端属性设置为< MsysGitHome> /bin/ssh.exe
定义系统变量SSH_AUTH_SOCKS = C:\ temp.ssh-socket
启动cmd.exe并执行以下命令(因为我们安装了MsysGit,所有以下命令都可以在cmd中访问 - < MsysGit> / bin添加到系统PATH变量中):
# The following command is required to execute for avoiding an address already bind message when ssh-agen is not started yet but .ssh-socket exists after previous agent session
rm "%SSH_AUTH_SOCK%"
# Starting ssh-agent
ssh-agent -a "%SSH_AUTH_SOCK%"
# Adding our openssh key
ssh-add "%USERPROFILE%\.ssh\id_rsa"
# Type password for your key
就是这样。从那一刻起,您可以在没有提示密码的情况下从TortoiseGit和MsysGit执行git push
,git pull
。
当不再需要ssh-agent时,您可以通过Windows Task Manager将其杀死。
答案 3 :(得分:0)
参考 Anmol Jain 在 https://community.atlassian.com/t5/Sourcetree-questions/SourceTree-to-GitHub-Enterprise/qaq-p/1073288#M38541 处给出的解决方案,该解决方案运行良好。他已经发布了适用于乌龟 git 的源代码树解决方案。
克隆和执行等操作的简单方法如下