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

daz*_*azz 17 git ssh smartgit

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

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

我通过命令行尝试使用相同的数据克隆repo,并且工作得很好.那么我有什么遗失的吗?

daz*_*azz 22

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

  • 这很奇怪,但如果你点击PuTTYgen*"保存私钥"*或*"保存公钥"*它将无效.您需要通过菜单保存*转换→导出OpenSSH密钥*.该文件将被取消 (2认同)

mmm*_*mmx 13

对,就是那样!

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

在Windows上,您可以执行以下过程:

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


new*_*cpp 6

如果要使用腻子作为ssh客户端,请按照以下步骤操作:

  1. 编辑|首选项|命令|身份验证,选择 Use System SSH Client
  2. 在Windows系统变量中,设置GIT_SSH = plink(其中腻子的plink.exe位置)

之后,请使用选美并加载私钥


Mr-*_*IDE 5

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

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

当 SmartGit 启动时它就会弹出。它看起来像这样:

SmartGit SSH 密码提示

它看起来像一个 Finder 对话框,很奇怪且令人困惑,完全没有提到 SmartGit。这通常是由于 SSH 密钥密码未存储在Keychain Access 应用程序中造成的。这就是 SmartGit 会寻找它的地方。您需要将其添加到其中,如下所示:

  • 对于 MacOS 12 Monterey,请在终端中使用:

ssh-add --apple-use-keychain ~/.ssh/id_rsa (assuming id_rsa is your private key file)

  • 对于 MacOS 11 (Big Sur)、10.15 (Catalina)、10.14 (Mojave)、10.13 (High Sierra) 及更低版本,请在终端中使用:

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

重新启动计算机后通常需要执行上述命令。另请参阅这些指南: