SmartGit won't authenticate with ssh

2020-02-05 06:54发布

问题:

I have a webserver with gitolite installed and where i login using my ssh key. Normally i just use git on the server itself using the command line but for a new project i need to clone a repo on my windows pc and i would like to use SmartGit for this.

But i've spend several hours already just to clone the repo via Smartgit. As remote Git i use the url i normally would use on the server: me@my-server:the-repo then after a while i get a dialogue box 'SSH Authentication' and i select my private key, as i would do for pagent, and put in my Passphrase. But when i click login it just tries to connect for a while and then shows me the 'SSH Authentication' dialogue box again. No error message or anything.

I tried the clone the repo with the same data via command line and that works just fine. So is there something i'm missing?

回答1:

Needed to save my ssh private key as an OpenSSH key in PuTTYgen because SmartGit only understand that format.



回答2:

Yes, that's it!

I just want to go in details to help the ones starting from scratch:

on windows you can do the following procedure:

  1. Install msysgit from Here
  2. To generate public/private key pair as needed by many git servers (like Assembla) use PuTTYgen that you find here: click on Generate and move your mouse until it tells you that the key is generated. Optionally, enter a passphrase to protect your private key
  3. Save or copy the public key at your need
  4. Save private key to use with SmartGit using menu voice Conversions/Export OpenSSH key
  5. Use the last file to authenticate in SmartGit


回答3:

If you want to use putty as ssh client, please follow the below steps:

  1. Edit|Preferences|Commands|Authentication, choose Use System SSH Client
  2. In windows system variables, set GIT_SSH=plink (where putty's plink.exe location)

After that, please use pageant and load the private key



回答4:

I found it easier to change SmartGit | Preference | Commands | Executables to use "C:\Program Files (x86)\Git\bin\git.exe", and then set GIT_SSH=plink in the system env.



回答5:

If you're using SmartGit on MacOS X, this problem causes an unexpected dialog to be displayed in the Finder:

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

And it pops up when SmartGit is launched. It looks like this:

It's odd and confusing how looks like a Finder dialog, with no reference at all to SmartGit. It's usually caused by the SSH key password not being stored in the Keychain Access app. That's where SmartGit will look for it. You'll need to add it in there, like this:

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

The above command is sometimes needed after restarting your computer. See also these guides:

  • https://apple.stackexchange.com/questions/48502/how-can-i-permanently-add-my-ssh-private-key-to-keychain-so-it-is-automatically
  • https://superuser.com/questions/88470/how-to-use-mac-os-x-keychain-with-ssh-keys
  • SSH Key - Still asking for password and passphrase


标签: git ssh smartgit