Se connecter en SSH avec une clé plutôt qu'un mot de passe

Une clé SSH est bien meilleure qu’un mot de passe pour se connecter : rien à taper à chaque fois, rien à forcer par bruteforce, et vous pouvez la révoquer sans changer le mot de passe de votre compte. Bifrost peut en créer une pour vous et l’installer sur le serveur en une seule étape — sans passer par le Terminal.

La méthode simple : laissez Bifrost générer la clé

Dans le gestionnaire de Crédentiels, cliquez sur le bouton clé de la barre d’outils pour ouvrir Générer une clé SSH. Vous y trouvez :

  • Nom — comment la clé apparaît dans Bifrost.
  • Commentaire — un libellé inscrit dans la clé publique (par défaut vous@votre-mac), pratique pour la reconnaître dans le authorized_keys d’un serveur.
  • Installer sur un serveur — activez cette option et renseignez l’hôte, le port, le nom d’utilisateur et votre mot de passe actuel. Bifrost se connecte une fois avec ce mot de passe et ajoute la nouvelle clé publique à ~/.ssh/authorized_keys pour vous (l’équivalent de ssh-copy-id), en créant ~/.ssh avec les bonnes permissions si besoin.

Bifrost génère une clé Ed25519 moderne, stocke la clé privée dans son propre conteneur d’application, et peut la lier immédiatement à une connexion. Dès lors, cette connexion s’authentifie avec la clé — sans demande de mot de passe.

C’est la voie recommandée : elle fonctionne sur la version Mac App Store, et vous ne touchez jamais à la ligne de commande.

Plusieurs Macs ? Activez Synchroniser les clés SSH dans Réglages → iCloud : les clés générées par Bifrost voyagent en sécurité (via le trousseau iCloud) vers vos autres Macs, et la même connexion fonctionne partout — voir Synchroniser vos connexions entre Macs avec iCloud.

Vous avez déjà une clé ? Utilisez l’agent SSH

Si vous avez déjà une clé sur votre Mac (d’un autre outil, d’un collègue, une clé RSA d’un serveur plus ancien…), la façon la plus propre de l’utiliser dans Bifrost est l’agent SSH. Chargez votre clé une fois :

ssh-add --apple-use-keychain ~/.ssh/votre_cle

--apple-use-keychain enregistre la phrase secrète dans le trousseau macOS, donc la clé se déverrouille automatiquement à chaque connexion. Réglez l’Authentification de la connexion sur Clé SSH, et Bifrost proposera automatiquement les clés de l’agent — sans avoir à désigner un fichier.

La voie de l’agent fonctionne avec tout type de clé que l’agent peut contenir (Ed25519, ECDSA, RSA), et il gère les clés protégées par phrase secrète pour vous. C’est la bonne façon d’utiliser une clé RSA.

Types de clés pris en charge

Bifrost fonctionne avec les types de clés SSH standard. Lesquels vous pouvez utiliser dépend de la manière dont la clé parvient à Bifrost :

Type de cléGénérée par BifrostVia l’agent SSH
Ed25519
ECDSA (p256/384/521)
RSA
  • Bifrost génère de l’Ed25519 — le standard moderne : court, rapide et sûr.
  • L’agent SSH accepte tout type — Ed25519, ECDSA ou RSA, quel que soit le format de la clé sur disque — et il gère les clés protégées par phrase secrète pour vous. C’est ainsi que vous apportez une clé existante, y compris une ancienne clé RSA.

Installer une clé publique sur un serveur manuellement

Si vous préférez le faire à la main, ajoutez votre clé publique (~/.ssh/votre_cle.pub, la ligne unique ssh-ed25519 … ou ssh-rsa …) au fichier ~/.ssh/authorized_keys du serveur, une clé par ligne. Les permissions comptent, sinon SSH refuse la clé en silence :

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

Dépannage : « Permission denied (publickey) »

Cela signifie que le serveur n’a pas accepté votre clé. Vérifiez, dans l’ordre :

  • La clé publique est bien sur le serveur — confirmez que votre ligne .pub figure dans le ~/.ssh/authorized_keys du serveur, sous le compte avec lequel vous vous connectez.
  • Les permissions~/.ssh doit être en 700 et authorized_keys en 600, appartenant à cet utilisateur. SSH ignore les clés dans des dossiers accessibles en écriture par tous.
  • Le bon nom d’utilisateur — la clé est dans le authorized_keys d’un compte précis ; connectez-vous en tant que cet utilisateur.
  • Vous utilisez l’agent ? — lancez ssh-add -l pour confirmer que la clé est bien chargée, et que la clé publique correspondante est sur le serveur.

Pour voir exactement pourquoi une connexion est refusée, lancez une connexion verbeuse depuis le Terminal et lisez les dernières lignes :

ssh -v user@serveur
← Tous les guides