我有一个安装了gitolite的网络服务器,我使用我的ssh密钥登录.通常我只是使用命令行在服务器上使用git但是对于一个新项目,我需要在我的Windows PC上克隆一个repo,我想使用SmartGit.
但我已经花了几个小时才通过Smartgit克隆回购.作为远程Git我使用我通常会在服务器上使用的url:me @ my-server:the-repo然后过了一会儿我得到一个对话框'SSH身份验证'并且我选择了我的私钥,就像我会为pagent做的那样,并把我的密码短语.但是当我点击登录时,它只是尝试连接一段时间,然后再次向我显示"SSH身份验证"对话框.没有错误消息或任何东西.
我通过命令行尝试使用相同的数据克隆repo,并且工作得很好.那么我有什么遗失的吗?
如果要使用腻子作为ssh客户端,请按照以下步骤操作:
Use System SSH
Client 之后,请使用选美并加载私钥
如果您在 MacOS X 上使用SmartGit,此问题会导致 Finder 中显示意外的对话框:
"SSH - Enter passphrase for key '/Users/username/.ssh/id_rsa':"
当 SmartGit 启动时它就会弹出。它看起来像这样:
它看起来像一个 Finder 对话框,很奇怪且令人困惑,完全没有提到 SmartGit。这通常是由于 SSH 密钥密码未存储在Keychain Access 应用程序中造成的。这就是 SmartGit 会寻找它的地方。您需要将其添加到其中,如下所示:
ssh-add --apple-use-keychain ~/.ssh/id_rsa (assuming id_rsa is your private key file)
ssh-add -K ~/.ssh/id_rsa (assuming id_rsa is your private key file)
重新启动计算机后通常需要执行上述命令。另请参阅这些指南: