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 en root.
  • 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.

Dernière mise à jour

Les résultats apparaissent pendant la saisie. Les flèches permettent de les parcourir.