我有一个安装了gitolite的网络服务器,我使用我的ssh密钥登录。通常我只是使用命令行在服务器上使用git,但对于一个新项目,我需要在我的Windows PC上克隆一个repo,我想使用SmartGit。
但我已经花了好几个小时才通过Smartgit克隆回购。作为远程Git我使用我通常会在服务器上使用的url:me @ my-server:the-repo然后过了一会儿我得到一个对话框'SSH身份验证'并且我选择了我的私钥,就像我会为pagent做的那样,并把我的密码短语。但是当我点击登录时,它只是尝试连接一段时间,然后再次向我显示“SSH身份验证”对话框。没有错误信息或任何内容。
我尝试通过命令行克隆具有相同数据的repo,并且工作得很好。那么我有什么想念吗?
答案 0 :(得分:22)
需要将我的ssh私钥保存为PuTTYgen中的OpenSSH密钥,因为SmartGit只能理解该格式。
答案 1 :(得分:13)
是的,就是这样!
我只是想详细介绍一下从头开始的帮助:
在Windows上,您可以执行以下步骤:
答案 2 :(得分:4)
我发现更改SmartGit更容易偏好|命令|可执行文件使用“C:\ Program Files(x86)\ Git \ bin \ git.exe”,然后在系统环境中设置GIT_SSH = plink。
答案 3 :(得分:4)
如果您想使用putty作为ssh客户端,请按照以下步骤操作:
Use System SSH
Client
之后,请使用选美并加载私钥
答案 4 :(得分:3)
如果您在MacOS X上使用SmartGit,此问题会导致在Finder中显示意外的对话框:
"SSH - Enter passphrase for key '/Users/username/.ssh/id_rsa':"
当SmartGit推出时它会弹出。它看起来像这样:
如何看起来像Finder对话框,而且根本没有对SmartGit的引用,这很奇怪而且令人困惑。这通常是由SSH密钥密码未存储在Keychain Access应用程序中引起的。这就是SmartGit寻找它的地方。你需要在那里添加它,如下所示:
ssh-add -K ~/.ssh/id_rsa (assuming id_rsa is your private key file)
重新启动计算机后,有时需要执行上述命令。另见这些指南:
答案 5 :(得分:0)
ssh-keygen -t rsa -b 4096 -m PEM
(将公钥添加到您的git主机中)
(对于我来说,我必须删除我的本地项目,然后从smargit克隆它,我无法使其与现有的本地项目一起使用,smartgit总是告诉我私钥(id_rsa)错误或密码错误,我花了一天的时间才能成功,我非常讨厌smartgit !!!)