« GitHub SSH » : différence entre les versions
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
ed25519plutôt quersasi 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/
|