Clés SSH
Créez une clé SSH sur macOS, Linux ou Windows, copiez sa moitié publique dans la console et corrigez les erreurs de permissions qui bloquent la connexion.
Une machine accepte la moitié publique de votre clé. La moitié privée reste sur votre ordinateur et ne le quitte jamais.
Vérifier si vous avez déjà une clé
ls ~/.ssh/*.pub
Un fichier comme id_ed25519.pub signifie que vous avez une clé. Passez à Copier la clé publique.
Créer une clé
macOS et Linux
Ouvrez Terminal :
ssh-keygen -t ed25519 -C "you@laptop"
Appuyez sur Entrée pour garder le chemin par défaut (~/.ssh/id_ed25519). Ajoutez une phrase de passe : elle protège la clé si vous perdez votre ordinateur.
Windows 10 et 11
OpenSSH est fourni avec Windows. Ouvrez PowerShell :
ssh-keygen -t ed25519 -C "you@laptop"
La clé est enregistrée dans C:\Users\<you>\.ssh\id_ed25519. Si ssh-keygen est introuvable, ouvrez Paramètres, Système, Fonctionnalités facultatives, et ajoutez Client OpenSSH.
Copier la clé publique
Copiez la ligne unique du fichier .pub et collez-la dans le formulaire de lancement.
| Système | Commande |
|---|---|
| macOS | pbcopy < ~/.ssh/id_ed25519.pub |
| Linux | cat ~/.ssh/id_ed25519.pub |
| Windows | Get-Content $env:USERPROFILE\.ssh\id_ed25519.pub | Set-Clipboard |
La ligne commence par ssh-ed25519, ecdsa-sha2-nistp256 ou ssh-rsa. Un bloc qui commence par -----BEGIN est la clé privée : ne le collez jamais nulle part.
Clés pour les scripts et les agents
Une session lancée avec une clé d’API reçoit la clé publique envoyée avec le lancement. Cette clé ouvre cette session seulement et n’est pas enregistrée sur votre compte. La CLI, les SDK, le serveur MCP et la GitHub Action l’envoient pour vous.
Une clé d’API dotée de la portée workloads:read liste les clés enregistrées dans la console, et un lancement peut en désigner une. L’enregistrement et la suppression d’une clé de votre compte se font dans la console.
Se connecter avec cette clé
ssh -i ~/.ssh/id_ed25519 ubuntu@203.0.113.42
Sous Windows :
ssh -i $env:USERPROFILE\.ssh\id_ed25519 ubuntu@203.0.113.42
Pour ne plus taper -i à chaque fois, ajoutez une entrée à ~/.ssh/config :
Host nodelodge-*
User ubuntu
IdentityFile ~/.ssh/id_ed25519
Charger la clé une fois par session
Avec une phrase de passe, l’agent ne la demande qu’une fois :
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
Sous Windows, démarrez une fois le service de l’agent depuis un PowerShell administrateur, puis ajoutez la clé :
Get-Service ssh-agent | Set-Service -StartupType Automatic
Start-Service ssh-agent
ssh-add $env:USERPROFILE\.ssh\id_ed25519
Corriger les erreurs de permissions
UNPROTECTED PRIVATE KEY FILE ou bad permissions
SSH refuse une clé privée lisible par d’autres comptes.
macOS et Linux :
chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_ed25519
Windows :
icacls $env:USERPROFILE\.ssh\id_ed25519 /inheritance:r /grant:r "$($env:USERNAME):(R)"
Permission denied (publickey)
- La clé collée n’est pas celle que SSH présente. Indiquez-la avec
-i. - Connectez-vous en
ubuntu, pas enroot. - Une clé collée avec un saut de ligne à l’intérieur ne correspond pas. Copiez-la de nouveau avec la commande ci-dessus.
Autres erreurs de connexion : Se connecter en SSH.