3

Made all necessary steps to use the GitLab, these settings are:

  1. Created a rsa as described in this link
  2. Copied the code generated in {my key}.pub and added this code in GitLab
  3. In my existent repository added to url with command git remote add gitlab git@gitlab.com:ridermansb/breezenhibernateproblem.git
  4. I tried to make the push git push -u gitlab master

My .ssh/config

Host gitlab.com
  HostName gitlab.com
  IdentityFile C:\Users\Riderman\.ssh\gitlab_rsa
  IdentitiesOnly yes

Error below:

Warning: Permanently added 'gitlab.com,54.243.197.170' (RSA) to the list of known hosts. Permission denied (publickey). fatal: Could not read from remote repository.

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

I made a video showing all the steps: http://www.screenr.com/euVH

What am I doing wrong?

ridermansb
  • 10,779
  • 24
  • 115
  • 226
  • Can you paste the output of ssh -v git@gitlab.com here? (this contains local settings, if you are uncomfortable with that please email support@gitlab.com) – Sytse Sijbrandij Dec 15 '13 at 14:48

1 Answers1

9

After seeing your screencast, I see that you don't have a %HOME%\.ssh\config file.

This is important because:

  • by default, ssh will look for the public/private key in %HOME%\.ssh\id_rsa(.pub)
  • With an scp-like syntax (git@gitlab.com:yourRepo, with the ':' as separator), ssh could look in a .ssh/config file for the location of the actual public/private key, using gitlab.com as an entry in said config file.

Add %HOME%\.ssh\config with:

Host gitlab.com
  HostName gitlab.com
  IdentityFile C:\path\to\.ssh\gitlab_rsa
  IdentitiesOnly yes

and your git push -u gitlab master will work.

It turned out it was also about setting HOME correctly:

%HOME% was not correct.
I configured the variable %HOME% to point to %USERPROFILE% locally and it worked

Mysygit does set HOME, but if you are using git outside of a git-cmd session, then it is your responsibility to set HOME correctly.

Community
  • 1
  • 1
VonC
  • 1,262,500
  • 529
  • 4,410
  • 5,250
  • As home you mean? `%USERPROFILE%\.ssh`, `C:` or `%windir%` ? `config` is a text file with this information? > My OS is Windows 8 – ridermansb Dec 15 '13 at 16:10
  • @Ridermansb yes: `%USERPROFILE%\.ssh`, if that is where `%HOME%` is set (and msysgit set that HOME by default to `%USERPROFILE%` – VonC Dec 15 '13 at 16:14
  • @Ridermansb msysgit sets `HOME`, as you can see in http://stackoverflow.com/a/17084508/6309/. – VonC Dec 15 '13 at 16:16
  • @Ridermansb Sorry, this is Windows: I meant for `IdentityFile` to reference the full Windows path. I have edited my answer. `~` doesn't mean anything in Windows. Only a full and complete path (starting with `C:\...`) will work. – VonC Dec 15 '13 at 16:46
  • let us [continue this discussion in chat](http://chat.stackoverflow.com/rooms/43208/discussion-between-ridermansb-and-vonc) – ridermansb Dec 15 '13 at 16:49