Sourcetree with Gitlab - SSH not working

Hi,

I have been evaluating using Sourcetree for Windows with a Gitlab server. I have been able to clone, push, and pull correctly over HTTP. This was not possible until I correctly uploaded my public SSH key to the server and pointed Sourcetree and my HOME environment variable to the private key. However, I am still unable to connect via SSH.

Using the git bash, running "ssh -vvvT git@SERVER" prompts me for my SSH key password, then connects correctly (responds with a welcome message as well). This indicates that my SSH key is set up correctly.

When attempting to clone an existing test repository, using the path "git@SERVER/REPO_DIR.git" results in an invalid source path. Clicking details gives me the following:

"fatal: 'xxxxxx' does not appear to be a git repository
fatal: could not read from remote repository.

Please make sure you have correct access rights and the repository exists"

When attempting to clone the repository, using the path "ssh://git@SERVER/REPO_DIR.git" results in and invalid source path with the following details:

"Access denied
Access denied
Access denied
Access denied

FATAL ERROR: Server sent disconnect message type 2 (protocol error):
'Too many authentication failures for git'
fatal: could not read from remote repository

Please make sure you have correct access rights and the repository exists"

Again, this works over HTTP flawlessly. My user account has been created and my SSH key is correctly stored. Why am I still having trouble with SSH? Are there other SSH commands I should run in the git bash to debug this issue?

4 answers

Apologies for the late response, I've been out of the office for a week.

It sounds like you're using OpenSSH keys (and not PuTTY), did you choose the OpenSSH option in the setup wizard? If not, you can set this in Tools > Options > General > SSH Client - it should pick up your key location automatically if it's the standard ~/.ssh/id_rsa but otherwise you can specify it. If your key is protected by a passphrase, you'll be prompted to supply it in a pop-up terminal window when you confirm the settings, and when you start SourceTree next time - this is necessary so that there is an instance of ssh-agent running that SourceTree can talk to with your key loaded.

If you need to load more than one key into your agent, you can do this from the Tools menu, Add SSH Key.

Once you have this configured SourceTree should behave just like the command line since OpenSSH picks up all the same configuration files.

this is far too difficult, why can't it "just work"

I'm experiencing a similar error, how I'm not using OpenSSH. My SourceTree client is running on a Windows machine with PuTTY/Plink selected. Any suggestions?

In my case I wasn't prompted for the pass phrase and starting SourceTree from the Command Line, fixed it. The prompt closed inmediatelly after popping up

use http url instead of git url like bellow :

http://server/user/project.git

I have the same issue. I imported my key but it doesn't work for me. Bitbucket SSH > clone locally > spotless

 

 

Try from gitlab and the horrors begin... 

Suggest an answer

Log in or Join to answer

Stay in touch

Be the first to know what's trending on Atlassian Community