web-dev-qa-db-fra.com

Git demandant une clé privée?

Je suis sur Ubuntu et j'apprends à utiliser Git en collaboration.

J'ai créé une paire de clés publiques/privées sur mon bureau Ubuntu local avec la commande suivante:

ssh-keygen -b 2048

J'ai ensuite accédé à ma clé publique avec:

cat /home/user/.ssh/id_rsa.pub

Après avoir trouvé des instructions en ligne, j'ai créé un référentiel sur GitHub, puis dans les paramètres, puis ajouté ma clé publique.

J'ai ensuite voulu faire 2 choses:

1) Vérifiez que mon authentification fonctionne bien avec GitHub. Je l'ai fait en tapant:

ssh -T [email protected]

J'obtiens la sortie suivante, à laquelle j'ai répondu "oui"

# The authenticity of Host 'github.com (xxxx)' can't be established.
# RSA key fingerprint is xxxxx.
# Are you sure you want to continue connecting (yes/no)? Yes

Je reçois alors une fenêtre pop disant:

An application wants to access the private key "user@ubuntu" but it is locked. 
It then asks for a password.

2) Faites un Git Push sur mon référentiel distant nouvellement créé.

# First, I connect my local repository to my remote GitHub one (this works)
$ git remote add Origin [email protected]:username/repository_name.git

# Next, I try and Push my local commits to the repository_name:
$ git Push Origin master

J'obtiens alors la même fenêtre pop-up qu'en 1), demandant l'accès à ma clé privée et à un mot de passe.

Mes questions sont:

  • Est-ce normal? Je connais très bien le concept de clé publique/clé privée et d’anticipation rapide, mais j’ai pensé que je ne devrais jamais partager ma clé privée. Alors pourquoi Git le demande-t-il?

  • Si je dois le donner, Git demande-t-il mon mot de passe Git ou mon mot de passe clé (mot de passe que j'aurais défini lors de la création de mes clés publique/privée)

Merci

1
m93

Est-ce normal? Je connais très bien le concept de clé publique/clé privée et d’anticipation rapide, mais j’ai pensé que je ne devrais jamais partager ma clé privée. Alors pourquoi Git le demande-t-il?

Vous ne devriez jamais partager votre clé privée. Toutefois, ces applications vous demandent de déverrouiller votre clé privée localement et non de l'envoyer à un autre ordinateur.

Si je dois le donner, Git demande-t-il mon mot de passe Git ou mon mot de passe clé (mot de passe que j'aurais défini lors de la création de mes clés publique/privée)

Il n'y a pas de mot de passe git. Vous voulez probablement dire votre mot de passe GitHub.

Vous pouvez vous connecter via le nom d'utilisateur et le mot de passe de votre compte GitHub. Toutefois, l’authentification par clé publique est plus simple et plus efficace. Lorsque vous avez créé votre paire de clés, vous avez choisi un mot de passe. C'est le mot de passe que vous devez entrer. Vous ne devrez probablement le faire qu'une fois par session, car votre agent SSH le stockera pour vous. Si vous y êtes invité à plusieurs reprises au cours de la même session (une session correspond au délai entre la connexion à votre ordinateur et la déconnexion), vous devez ajouter votre paire de clés à votre agent SSH:

ssh-add ~/.ssh/id_rsa
1
UTF-8