Tester SSH vs HTTPS
Dans cette étape, nous allons explorer la différence entre l'utilisation des protocoles HTTPS et SSH pour interagir avec un dépôt Git distant. Bien que les deux protocoles vous permettent de récupérer et d'envoyer du code, ils utilisent des méthodes d'authentification différentes.
Nous avons déjà configuré notre dépôt distant origin
pour utiliser le protocole HTTPS. Essayons de simuler le clonage d'un dépôt en utilisant les deux protocoles pour voir la différence dans le format des URL.
Tout d'abord, revenons au répertoire ~/project
:
cd ~/project
Maintenant, simulons le clonage d'un dépôt en utilisant le protocole HTTPS. Nous utiliserons l'URL d'un dépôt public qui ne nécessite pas d'authentification pour le clonage.
git clone https://github.com/git/git.git git-https-test
Cette commande clone le dépôt officiel de Git dans un nouveau répertoire nommé git-https-test
. Vous verrez une sortie indiquant le processus de clonage. Cela fonctionne car le clonage d'un dépôt public via HTTPS ne nécessite généralement pas de credentials.
Maintenant, simulons le clonage du même dépôt en utilisant le protocole SSH. Le format de l'URL SSH est différent, il ressemble généralement à git@hostname:user/repo.git
.
git clone [email protected]:git/git.git git-ssh-test
Lorsque vous exécutez cette commande, vous verrez probablement un message vous demandant de confirmer l'authenticité de l'hôte ou une erreur de permission refusée. Cela est dû au fait que le clonage via SSH nécessite une authentification à l'aide de clés SSH. Étant donné que nous n'avons pas configuré de clés SSH dans cet environnement, la connexion échouera ou vous demandera des credentials.
Cloning into 'git-ssh-test'...
The authenticity of host 'github.com (20.205.243.166)' can't be established.
ED25519 key fingerprint is SHA256:+DiY3wvvV6qU/mzgpTw4mSjJA9PMpTkCXPzQ7lPkLiA.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])?
Vous pouvez taper no
et appuyer sur Entrée pour refuser la tentative de connexion.
Cela démontre la différence clé : le protocole HTTPS est souvent plus simple pour l'accès public (comme le clonage), tandis que le protocole SSH offre une méthode plus sécurisée et pratique pour l'accès authentifié (comme l'envoi de modifications) une fois que les clés SSH sont configurées.
Vous pouvez maintenant supprimer les répertoires de test :
rm -rf git-https-test git-ssh-test
Comprendre quand utiliser HTTPS plutôt que SSH est important pour gérer vos flux de travail Git et garantir un accès sécurisé à vos dépôts.