Suivez les instructions ci-dessous en partant de zéro et vous serez en mesure de résoudre ce problème.
De nombreux serveurs Git s'authentifient à l'aide de clés publiques SSH. Afin de fournir une clé publique, chaque utilisateur de votre système doit en générer une s'il n'en possède pas déjà une. Ce processus est similaire pour tous les systèmes d'exploitation. Tout d'abord, vous devez vous assurer que vous ne possédez pas déjà une clé. Par défaut, les clés SSH d'un utilisateur sont stockées dans son répertoire ~/.ssh. Vous pouvez facilement vérifier si vous avez déjà une clé en allant dans ce répertoire et en listant son contenu :
$ cd ~/.ssh
$ ls
authorized_keys2 id_dsa known_hosts
config id_dsa.pub
Vous recherchez une paire de fichiers nommés quelque chose comme id_dsa
o id_rsa
et un fichier correspondant avec un .pub
extension. Les .pub
est votre clé publique, et l'autre fichier est la clé privée correspondante. Si vous n'avez pas ces fichiers (ou si vous n'avez même pas de fichier .ssh
), vous pouvez les créer en exécutant un programme appelé ssh-keygen
qui est fourni avec le paquet SSH sur les systèmes Linux/macOS et avec Git pour Windows :
$ ssh-keygen -o
Generating public/private rsa key pair.
Enter file in which to save the key (/home/schacon/.ssh/id_rsa):
Created directory '/home/schacon/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/schacon/.ssh/id_rsa.
Your public key has been saved in /home/schacon/.ssh/id_rsa.pub.
The key fingerprint is:
d0:82:24:8e:d7:f1:bb:9b:33:53:96:93:49:da:9b:e3 schacon@mylaptop.local
Il confirme d'abord l'endroit où vous souhaitez enregistrer la clé ( .ssh/id_rsa
), puis il demande deux fois une phrase de passe, que vous pouvez laisser vide si vous ne voulez pas saisir de mot de passe lorsque vous utilisez la clé. Cependant, si vous utilisez un mot de passe, assurez-vous d'ajouter l'élément -o
qui enregistre la clé privée dans un format plus résistant au craquage de mot de passe par force brute que le format par défaut. Vous pouvez également utiliser l'option ssh-agent
pour éviter d'avoir à saisir le mot de passe à chaque fois.
Maintenant, chaque utilisateur qui fait cela doit envoyer sa clé publique à vous ou à la personne qui administre le serveur Git (en supposant que vous utilisiez une configuration de serveur SSH qui nécessite des clés publiques). Tout ce qu'ils ont à faire est de copier le contenu du fichier .pub
et l'envoyer par courrier électronique. Les clés publiques ressemblent à ceci :
$ cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSU
GPl+nafzlHDTYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5QVkbPppSwg0cda3
Pbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XA
t3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/En
mZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbx
NrRFi9wrf+M7Q== schacon@mylaptop.local