Aller au contenu

« GitHub SSH » : différence entre les versions

De Marmits Wiki
Page créée avec « Pour tester si '''ta connexion SSH vers ton dépôt GitHub fonctionne''' ----- = ✅ Tester la connexion SSH à GitHub = La commande officielle est : <syntaxhighlight lang="bash">ssh -T git@github.com</syntaxhighlight> 👉 Elle teste '''l’authentification SSH''' sans ouvrir de session interactive (<code>-T</code> = disable pseudo-tty). ----- = 🔍 Que se passe‑t‑il si tout fonctionne ? = Selon ta configuration, GitHub répondra par l’un de ces me... »
 
Aucun résumé des modifications
 
Ligne 1 : Ligne 1 :
= 🛠️ Objectif Configuration <code>~/.ssh/config</code> =
→ '''Simplifier l’utilisation de SSH'''<br />
→ '''Choisir automatiquement la bonne clé'''<br />
→ '''Configurer GitHub proprement'''<br />
→ '''Éviter les erreurs “Permission denied (publickey)”'''
-----
== ✅ Exemple de configuration <code>~/.ssh/config</code> propre ==
Crée ou modifie ce fichier :
<pre>~/.ssh/config</pre>
Et mets-y ceci :
<pre class="sshconfig"># ===============================
#  Configuration SSH GitHub
# ===============================
Host github.com
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_ed25519
    IdentitiesOnly yes</pre>
=== Explication ===
{| class="wikitable"
|-
! Directive
! Rôle
|-
| <code>Host github.com</code>
| S’applique uniquement aux connexions vers GitHub
|-
| <code>HostName github.com</code>
| Le vrai nom du serveur
|-
| <code>User git</code>
| Nom d’utilisateur utilisé par Git pour les connexions SSH
|-
| <code>IdentityFile ~/.ssh/id_ed25519</code>
| Ta clé privée utilisée pour GitHub
|-
| <code>IdentitiesOnly yes</code>
| Force SSH à utiliser seulement cette clé (évite que SSH en teste trop et se fasse bloquer)
|}
-----
== 🔐 Ajouter plusieurs clés (si tu as plusieurs comptes GitHub) ==
Tu peux isoler les identités avec un alias :
<pre class="sshconfig"># Compte GitHub personnel
Host github.com-personal
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_ed25519_personal
    IdentitiesOnly yes
# Compte GitHub Pro
Host github.com-pro
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_ed25519_pro
    IdentitiesOnly yes</pre>
Et dans tes dépôts Git :
<syntaxhighlight lang="bash">git remote set-url origin git@github.com-pro:monorg/monrepo.git</syntaxhighlight>
-----
== 🧪 Tester que tout fonctionne (sans risque) ==
Pour tester la connexion SSH ''sans rien casser'' :
<syntaxhighlight lang="bash">ssh -T git@github.com</syntaxhighlight>
Pour voir quelle clé est réellement utilisée (mode debug très utile) :
<syntaxhighlight lang="bash">ssh -vT git@github.com</syntaxhighlight>
Cherche la ligne :
<pre>Offering public key: /home/user/.ssh/id_ed25519</pre>
Cela confirme la configuration.
-----
== 🔒 Bonnes pratiques ==
* Donne les bonnes permissions : <code>bash    chmod 600 ~/.ssh/id_*    chmod 700 ~/.ssh</code>
* Ne mets jamais ta clé privée dans un dépôt (même privé).
* Utilise <code>ed25519</code> plutôt que <code>rsa</code> si possible.
-----
Pour tester si '''ta connexion SSH vers ton dépôt GitHub fonctionne'''
Pour tester si '''ta connexion SSH vers ton dépôt GitHub fonctionne'''
-----
-----
Ligne 8 : Ligne 104 :
<syntaxhighlight lang="bash">ssh -T git@github.com</syntaxhighlight>
<syntaxhighlight lang="bash">ssh -T git@github.com</syntaxhighlight>
👉 Elle teste '''l’authentification SSH''' sans ouvrir de session interactive (<code>-T</code> = disable pseudo-tty).
👉 Elle teste '''l’authentification SSH''' sans ouvrir de session interactive (<code>-T</code> = disable pseudo-tty).


-----
-----


= 🔍 Que se passe‑t‑il si tout fonctionne ? =
== 🔍 Que se passe‑t‑il si tout fonctionne ? ==


Selon ta configuration, GitHub répondra par l’un de ces messages :
Selon ta configuration, GitHub répondra par l’un de ces messages :
Ligne 27 : Ligne 122 :
<pre>The authenticity of host 'github.com (IP...)' can't be established...</pre>
<pre>The authenticity of host 'github.com (IP...)' can't be established...</pre>
Tape : <code>yes</code>.
Tape : <code>yes</code>.


-----
-----


= ❌ Si ça ne fonctionne pas =
== ❌ Si ça ne fonctionne pas ==


=== Pas de clé SSH : ===
=== Pas de clé SSH : ===
Ligne 37 : Ligne 131 :
<pre>Permission denied (publickey).</pre>
<pre>Permission denied (publickey).</pre>
→ Tu dois générer une clé SSH et l’ajouter à GitHub.
→ Tu dois générer une clé SSH et l’ajouter à GitHub.


-----
-----

Dernière version du 21 janvier 2026 à 16:57

🛠️ Objectif Configuration ~/.ssh/config

Simplifier l’utilisation de SSH
Choisir automatiquement la bonne clé
Configurer GitHub proprement
Éviter les erreurs “Permission denied (publickey)”


✅ Exemple de configuration ~/.ssh/config propre

Crée ou modifie ce fichier :

~/.ssh/config

Et mets-y ceci :

# ===============================
#  Configuration SSH GitHub
# ===============================
Host github.com
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_ed25519
    IdentitiesOnly yes

Explication

Directive Rôle
Host github.com S’applique uniquement aux connexions vers GitHub
HostName github.com Le vrai nom du serveur
User git Nom d’utilisateur utilisé par Git pour les connexions SSH
IdentityFile ~/.ssh/id_ed25519 Ta clé privée utilisée pour GitHub
IdentitiesOnly yes Force SSH à utiliser seulement cette clé (évite que SSH en teste trop et se fasse bloquer)

🔐 Ajouter plusieurs clés (si tu as plusieurs comptes GitHub)

Tu peux isoler les identités avec un alias :

# Compte GitHub personnel
Host github.com-personal
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_ed25519_personal
    IdentitiesOnly yes

# Compte GitHub Pro
Host github.com-pro
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_ed25519_pro
    IdentitiesOnly yes

Et dans tes dépôts Git :

git remote set-url origin git@github.com-pro:monorg/monrepo.git

🧪 Tester que tout fonctionne (sans risque)

Pour tester la connexion SSH sans rien casser :

ssh -T git@github.com

Pour voir quelle clé est réellement utilisée (mode debug très utile) :

ssh -vT git@github.com

Cherche la ligne :

Offering public key: /home/user/.ssh/id_ed25519

Cela confirme la configuration.


🔒 Bonnes pratiques

  • Donne les bonnes permissions : bash chmod 600 ~/.ssh/id_* chmod 700 ~/.ssh
  • Ne mets jamais ta clé privée dans un dépôt (même privé).
  • Utilise ed25519 plutôt que rsa si possible.

Pour tester si ta connexion SSH vers ton dépôt GitHub fonctionne


✅ Tester la connexion SSH à GitHub

La commande officielle est :

ssh -T git@github.com

👉 Elle teste l’authentification SSH sans ouvrir de session interactive (-T = disable pseudo-tty).


🔍 Que se passe‑t‑il si tout fonctionne ?

Selon ta configuration, GitHub répondra par l’un de ces messages :

✔️ Si ta clé SSH est reconnue :

Hi <ton_username>! You've successfully authenticated, but GitHub does not provide shell access.

→ Parfait : tu es authentifié correctement.

❓ Si GitHub te demande de vérifier l’empreinte de la clé :

La première fois seulement :

The authenticity of host 'github.com (IP...)' can't be established...

Tape : yes.


❌ Si ça ne fonctionne pas

Pas de clé SSH :

Permission denied (publickey).

→ Tu dois générer une clé SSH et l’ajouter à GitHub.


📌 Résumé rapide

Action Commande
Tester SSH vers GitHub ssh -T git@github.com
Vérifier quelle clé est utilisée ssh -vT git@github.com
Lister tes clés SSH ls ~/.ssh/