SmartGit不会使用ssh进行身份验证

时间:2012-01-09 13:02:34

标签: git ssh smartgit

我有一个安装了gitolite的网络服务器,我使用我的ssh密钥登录。通常我只是使用命令行在服务器上使用git,但对于一个新项目,我需要在我的Windows PC上克隆一个repo,我想使用SmartGit。

但我已经花了好几个小时才通过Smartgit克隆回购。作为远程Git我使用我通常会在服务器上使用的url:me @ my-server:the-repo然后过了一会儿我得到一个对话框'SSH身份验证'并且我选择了我的私钥,就像我会为pagent做的那样,并把我的密码短语。但是当我点击登录时,它只是尝试连接一段时间,然后再次向我显示“SSH身份验证”对话框。没有错误信息或任何内容。

我尝试通过命令行克隆具有相同数据的repo,并且工作得很好。那么我有什么想念吗?

6 个答案:

答案 0 :(得分:22)

需要将我的ssh私钥保存为PuTTYgen中的OpenSSH密钥,因为SmartGit只能理解该格式。

答案 1 :(得分:13)

是的,就是这样!

我只是想详细介绍一下从头开始的帮助:

在Windows上

,您可以执行以下步骤:

  1. Here
  2. 安装msysgit
  3. 要根据需要生成公钥/私钥对,请使用 PuTTYgen 找到here: 点击生成移动鼠标,直到它告诉您密钥已生成。 (可选)输入密码以保护您的私钥
  4. 根据需要保存或复制公钥
  5. 使用菜单语音保存私钥以与SmartGit一起使用转换/导出OpenSSH密钥
  6. 使用最后一个文件在SmartGit中进行身份验证

答案 2 :(得分:4)

我发现更改SmartGit更容易偏好|命令|可执行文件使用“C:\ Program Files(x86)\ Git \ bin \ git.exe”,然后在系统环境中设置GIT_SSH = plink。

答案 3 :(得分:4)

如果您想使用putty作为ssh客户端,请按照以下步骤操作:

  1. 编辑|首选项|命令|身份验证,选择Use System SSH Client
  2. 在windows系统变量中,设置GIT_SSH = plink(其中 putty的plink.exe位置)
  3. 之后,请使用选美并加载私钥

答案 4 :(得分:3)

如果您在MacOS X上使用SmartGit,此问题会导致在Finder中显示意外的对话框:

"SSH - Enter passphrase for key '/Users/username/.ssh/id_rsa':"

当SmartGit推出时它会弹出。它看起来像这样:

SmartGit SSH passphrase prompt

如何看起来像Finder对话框,而且根本没有对SmartGit的引用,这很奇怪而且令人困惑。这通常是由SSH密钥密码未存储在Keychain Access应用程序中引起的。这就是SmartGit寻找它的地方。你需要在那里添加它,如下所示:

ssh-add -K ~/.ssh/id_rsa    (assuming id_rsa is your private key file)

重新启动计算机后,有时需要执行上述命令。另见这些指南:

答案 5 :(得分:0)

  1. 生成PEM私钥

ssh-keygen -t rsa -b 4096 -m PEM

(将公钥添加到您的git主机中)

  1. 克隆(或重新克隆)您的项目表单smargit UI,

(对于我来说,我必须删除我的本地项目,然后从smargit克隆它,我无法使其与现有的本地项目一起使用,smartgit总是告诉我私钥(id_rsa)错误或密码错误,我花了一天的时间才能成功,我非常讨厌smartgit !!!)