Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Fingerprint has already been taken gitlab

I formatted my Windows 7 laptop and in an attempt to have git setup working again, I installed git and source tree application.

I deleted the SSH Key from gitlab and regenerated the key using ssh-keygen. But when I try to add the SSH Key at gitlab, it throws the following exception :

Key is invalid Fingerprint has already been taken Fingerprint cannot be generated 

Because of this I am unable to clone the git repository from the source tree application since gitlab is unable to authenticate the SSH key.I followed queries at google groups of gitlab but none of them seem to resolve my issue. Is there any workaround or steps to get the SSH key accepted by gitlab?

like image 225
learn_develop Avatar asked May 08 '14 09:05

learn_develop


People also ask

How create SSH key and add to GitLab?

Log into GitLab and click on your account preferences. Click the SSH Keys link and paste the copied value into the text field. Set an expiration date, and then click the blue button to persistently add the GitLab SSH key. Configure GitLab SSH keys under your account preferences.

How do I create a new SSH key?

Open a terminal and use the ssh-keygen command with the -C flag to create a new SSH key pair. Replace the following: KEY_FILENAME : the name for your SSH key file. For example, a filename of my-ssh-key generates a private key file named my-ssh-key and a public key file named my-ssh-key.

How do you enter a passphrase for a key?

$ ssh-keygen -p -f ~/.ssh/id_ed25519 > Enter old passphrase: [Type old passphrase] > Key has comment '[email protected]' > Enter new passphrase (empty for no passphrase): [Type new passphrase] > Enter same passphrase again: [Repeat the new passphrase] > Your identification has been saved with the new passphrase.


1 Answers

In my case; the public key i was trying to add was already used with 'work' Gitlab account and i received the said error upon trying to use the same key with 'personal' Gitlab account.

Solution - Add another public key on the same machine and use that with 'personal' gitlab account (both on same machine).

navigate to .ssh folder in your profile (even works on windows) and run command

ssh-keygen -t rsa 

when asked for file name give another filename id_rsa_2 (or any other). enter for no passphrase (or otherwise). You will end up making id_rsa_2 and id_rsa_2.pub

use the command

cat id_rsa_2.pub 

copy and save key in 'personal' Gitlab account.

create a file with no extension in .ssh folder named 'config'

put this block of configuration in your config file

Host           gitlab.com HostName       gitlab.com IdentityFile   C:\Users\<user name>\.ssh\id_rsa User           <user name>   Host           gitlab_2 HostName       gitlab.com IdentityFile   C:\Users\<user name>\.ssh\id_rsa_2 User           <user name> 

now whenever you want to use 'personal' gitlab account simply change alias in git URLs for action to remote servers.

for example instead of using

git clone git@gitlab.com:..............

simply use

git clone git@gitlab_2:...............

doing that would use the second configuration with gitlab.com (from 'config' file) and will use the new id_rsa_2 key pair for authentication.

Find more about above commands on this link
https://clubmate.fi/how-to-setup-and-manage-multiple-ssh-keys/

like image 187
Maneesh Parihar Avatar answered Sep 22 '22 06:09

Maneesh Parihar